第二章 入门
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/ 最先找当前目录
第三章 查找与替换
| [: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个或一个前置表达式
+匹配一个及以上
浙公网安备 33010602011771号