1、sed
sed是一个很好的文件处理工具,可以将数据行进行替换、删除、新增、选取等特定工作。
点击打开链接很仔细的详解。
命令行格式: sed [-nefri] ‘command’ 文本
常用选项:
-n∶使用安静(silent)模式。只有匹配的那一行(或者动作)才会被列出来。
[root@localhost ruby] # sed -n '/ruby/p' ab #查询包括关键字ruby所在所有行
[root@localhost ruby] # sed -n '/\$/p' ab #查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义
-i∶直接修改读取的档案内容,而不是由屏幕输出。
常用命令:
a ∶新增,a 的后面可以接字串,而这些字串会在目前的下一行出现;
[root@localhost ruby] # sed '1a drink tea' ab #第一行后增加字符串"drink tea"
[root@localhost ruby] # sed '1,3a drink tea' ab #第一行到第三行后增加字符串"drink tea"
[root@localhost ruby] # sed -i '$a bye' ab #在文件ab中最后一行直接输入"bye"
[root@localhost ruby] # sed '1a drink tea\nor coffee' ab #第一行后增加多行,使用换行符\n
c ∶取代,c 的后面可以接字串;
[root@localhost ruby] # sed '1c Hi' ab #第一行代替为Hi
[root@localhost ruby] # sed '1,2c Hi' ab #第一行到第二行代替为Hi
d ∶删除,d 后面通常不接任何东西;
[root@localhost ruby] # sed '1d' ab #删除第一行
[root@localhost ruby] # sed '$d' ab #删除最后一行
[root@localhost ruby] # sed '1,2d' ab #删除第一行到第二行
[root@localhost ruby] # sed '2,$d' ab #删除第二行到最后一行
i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行);
p ∶显示。通常 p 会与参数 sed -n 一起运作;
[root@localhost ruby] # sed -n '1p' ab #显示第一行
[root@localhost ruby] # sed -n '$p' ab #显示最后一行
[root@localhost ruby] # sed -n '1,2p' ab #显示第一行到第二行
[root@localhost ruby] # sed -n '2,$p' ab #显示第二行到最后一行
s ∶取代。通常这个 s 的动作可以搭配正规表示法;
[root@localhost ruby] # sed 's/ruby/bird/g' ab #替换ruby为bird
[root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby/g' #删除ruby
sed -i '/匹配字符串/d' filename #删除匹配字符串的一行
sed -n '/匹配字符串/p' filename #打印匹配字符串的行
sed -n '/匹配字符串/, 4p' filename #打印从匹配字符串到第四行