shell指令中的文本处理
(2010-09-30 17:05:58)
标签:
shell函数文本sedawklinuxit |
分类: ubuntu--时代要求开源 |
-
命令行参数。参数用分割符分开,可以用””,''和\改变分割符作用。参数从一开始计数,$1,$2,……$0表示bash脚本本身的文件名,$#表示位置参数的个数,$*和$@表示所有位置参数(list)。而”$@”展开后,每个括号会括在一对双引号中。
-
shell函数。Bash允许用户定义函数,形式如下:
函数名() {
……
函数体
……
可用local定义局部变量。可用file /usr/bin{if ($2 != $3) print NR, $0;}' file.txt。寻找以2开头的行,如果其第二列的值和第三列不一样,就将行号和内容打印出来。注意这里$n的用法。
diff [选项] 文件1 文件2可比较两个文件,选项-r表示递归比较,-u为常用的输出格式(显示不同处)。”patch[选项] 原始文件 补丁文件”或者”patch -p数字 <补丁文件”可用来更新文件。其中的数字表示寻找要修改的文件时去掉补丁文件中指定的路径名开头的几层目录。diff和patch两个指令协作有强大的文本处理功能。