sed
sed options script file
sed选项:
1. -e script 将script中的命令添加到已有的命令中
2. -f file 将file中的命令添加到已有的命令中
3. -n 不产生命令输出 使用print命令完成输出
sed替换命令两种形式
采用文件执行命令
gawk
gawk options program file
gawk选项:
-F fs 指定行中划分字段分割符
-f file 从制定文件中读取程序
-v var=value 定义变量并赋值
-mf N 处理数据文件中的最大字段数
-mr N 处理的最大行数
-w keyword 指定兼容模式或警告等级
使用行地址
默认情况下,sed命令会作用于文本数据的所有所在行,若想使其作用于特定行,则使用行寻址。 注意写入文件的数据只有寻址或匹配到的行数据。
处理2-5行的数据
#sed '2,5s/root/ame/gw dis1' lafile
处理从第二行到末尾的数据
#sed '2,$s/root/new/gw dis2' lafile
处理匹配到的行
#sed '/mnt/s/root/mmnt/gw dis3' lafile
组合命令
#sed '2,${
s/proc/amame/g
s/snap/changed/gw dis4
}' lafile
删除行
删除意味着不从源数据中取出相应数据,如下命令,不对源数据执行任何操作
#sed 'd' lafle
#sed '2,$d' lafile
#sed '/root /d' lafile
删除root的匹配行 再从其中删除第一行
#sed '{
/root /d
1d
}' lafile
插入和附加文本行
注意i后 / \ 和没有斜杠的区别
指定行插入
#sed '3a\This is the inserted line!!!!!!!!!!!! ' lafile
多行插入
#sed '3a\This is the inserted line!!!!!!!!!!!!\
This is the sed Line2' lafile
每行后多行插入
#sed '3,$a\This is the first \
This is the sed! ' lafile
修改行
将所有的 1 2 3 替换为 9 8 7
#sed 'y/123/987/' lafile