linux笔记(grep awk)

第二章 变量和运算符

1、set  为本地变量

2readonly 变量     设置为只读变量      readonly 变量不能unset

      

2.1.2 环境变量

Ø         环境变量用于所有用户进程(经常称了为进行)。登录进程称为父进程。Shell中执行的用户进程均称为子进程。不像本地变量(只用于现在的shelll)环境变量可用于所有子进程,这包括编辑器、脚本和应用。

Ø         $HOME/.bash_profile (/etc/profile)

Ø         Export

Ø         Env

 

2.1.3 变量替换

 

$(Variable name)

显示实际值

$(Variable name:+value)

如果设置了name,则显示毁value否则为空

$(Variable name:?value)

如果未设置name,则显示用户定义value

$(Variable name:-value)

如果未设置name,则显示其值value

$(Variable name:=value)

如果未设置name,设置其值,并显示

 

 

5.2基本元字符集及其含义

字符

含义

^

只匹配行首

$

只匹配行尾

*

匹配0个或多个此单字符

[]

只匹配[]内字符。可以是一个单字符,也可以是字符序列。可以使用-表示[]内字符序列范围,如用[15]代替[12345]

\

只用来屏蔽一个元字符的特殊含义

.

只匹配任意单字符

Pattern\{n\}

只用来匹配前面pattern出现次数。n为次数.

Pattern\{n\}

含义同上,但次数最少为n

Pattern\{nm\}

含义同上,但pattern出现次数在nm之间

第五章  4626


5.13 grep介绍

Ø         GrepunixLINUX中使用最广泛的命令之一

Ø         对文本文件进行模式查找

Ø         Grep有三种变形

n         Grep:标准grep命令

n         Egrep:扩展grep,支持基本及扩展的正则表达式

n         Fgrep:快速grep

Ø         Grep一般格式为:

n         grep [选项]基本正则表达式[文件]

n         字符串参数最好采用双引号括起来,一是以防被误解为shell命令,二是可以用来查找多个单词组成的字符串。

 

Grep命令选项

Ø         -c 只输出匹配行的计数

Ø         -i 不区分大小写(只适用于单字符)

Ø         -h 查询多文件时不显示文件名

Ø         -H 显示文件名。

Ø         -l 查询多文件时只输出包含匹配字符的文件名。

Ø         -n 显示匹配行及行号

Ø         -s 不显示不存在或无匹配文本的错误信息

Ø         -v 显示不包含匹配文本的所有行

 

grep 命令类名

等价的正则表达式

[[:upper:]]

[A-Z]

[[:alnum:]]

[0 -9a -zA-Z]

[[:lower:]]

[a-z]

[[:space:]]

空格或tab

[[:digit:]]

[0-9]

[[:alpha:]]

[a-zA-Z]

 

 


5.14 awk介绍

Ø         可从文件或字符串中基于指定规则浏览和抽取信息

Ø         是一种自解释的编程语言

Ø         三种方式调用awk

n         使用行方式:   awk [-F filed-spearator] `command` input-file

n         awk脚本:    所有awk命令插入一个文件,并使awk程序可执行,然后用awk命令解释器作为脚本的首行,以便通过键入脚本名称来调用它。

n         awk命令插入一个单独文件  

awk –f awk-script-file input-file

Ø         awk 脚本由各种操作和模式组成

Ø         模式和动作

n         模式部分决定动作语句何时触发及触发事件。(BEGIN,END

n         动作对数据进行处理,放在大括号{}内指明。(print

Ø         分割符、域和记录

n         awk执行时,其浏览域标记为$1$2,….$n。这种方法称为域标识。$0为所有域。

n         注意执行时不要混淆符号 $ shell提示符 $ ,它们是不同的。

Ø         花样百出

例:

awk –F  “:”  ‘{print $1 “  home  dictionary is ” $6 }’  passwd

awk –F  “:”  ‘BEGIN {print  “User\t\tHOme Dictionary\n------------------------------------”}  {print  $ 1” \t\t”$6 }   END{print “end of print”}’  passwd

 

 

ü         awk中的特殊元字符:+,?

ü         匹配操作符:~,!~

ü         cat score.txt | awk ‘$0 ~ /218.79.131.96/’

ü         awk  ‘$0 ~ /218.79.131.96/’ score.txt

ü         awk  ‘{if($1==”218.79. 131.96” )  print $0}’ score.txt

ü         man  awk

 

你可能感兴趣的:(linux,职场,grep,awk,休闲)