第二章 入门

2.5.5.2 特殊文件

/dev/null 传送到此的文件会被系统丢掉。此时并不关心内容,而是是否存在成功写入并退出的状态。

if grep pattern myfile>/dev/null
then
    ...
else
    ...
fi

/dev/tty 打开此文件时,会重定向到另一个终端(sonsole,serial port,pseudoterminal...)

输密码程序特别方便

printf "Enter new password: "
stty -echo //关闭自动打印输入字符的功能
read pass< /dev/tty
printf "Enter again: "
read pass2 < /dev/tty
stty echo //打开自动打印字符功能
...

2.5.6基本命令查找 $PATH

可以在.profile中加入自己的bin目录,如 PATH=$PATH:$HOME/bin

路径中的冒号(不是分隔的那些冒号): 代表查找当前文件夹

/usr/local/sbin:/usr/local/: 表示最后查找当前目录

/usr/local/sbin::/usr/local/ 中间

:/usr/local/sbin:/usr/local/ 最先找当前目录

第三章 查找与替换

POSIX字符集
[:alnum:] 数字字符 [:lower:]小写字母
[:alpha:] 字母字符 [:print:] 可显字符
[:blank:] 空格和tab [:punct:]标点字符
[:digit:] 数字字符 [:space:] 空白字符
[:cntrl:] 控制字符 [:upper:] 大写字符
[:graph:] 非空格字符 [:xdigit:] 十六进制字符

后向引用ubuntu上egrep fgrep均无效果

BRE提供将字表达式包围在\(和\)里,用\digit(digit=1~9)匹配前面第几个括号中的字符。

例:1.\(ab\)\(cd\)[def]*\2\1 其可能匹配结果abcdcdab,adcddefcdad等等。

    2. \(why)\).*\1 一行中出现两个why

  3.\([[:alpha:]_][[:alnum]_]*\)=\1 可以匹配到简易的赋值语句

单个表达式多字符 (egrep 有用)

例:a\{n\} 连续n个a

  a\{n,\}至少连续n个a 

  a\{n,m\}连续n到m个a

扩展正则表达式 

  ?匹配0个或一个前置表达式

  +匹配一个及以上

 

 

 

posted on 2012-11-22 16:46  Drinking  阅读(144)  评论(0)    收藏  举报