1. sed:
sed相当于在线编辑器,一次处理一行内容。Sed常用来自动编辑一个或多个文件;简单化对文件的反复操作;编写转换程序等。
例:sed [OPTION] 'address Command ' file,...
其中,address表示指定要操作的行,Command表示指定操作的命令。
2.OPTION:
-n:静默模式,模式空间中的内容不显示,
-i:对原文件直接修改(请谨慎使用),
-e SCRIPT -e SCRIPT:同时指定多个脚本,
-f /PATH/TP/SED_SCRIPT:从文本中加载脚本,
-r:使用扩展正则表达式。
3.address:
指定要操作的位置
起始行,结束行。
4.function:
a :新增,
c :取代,
d :删除,
i :插入,
p :列印,
s :取代,
例:20s/old/new/g.
例:
# 将文件中,三位以上数字,并且后面有逗号的字符串替换为空,比如“2345”,
sed 's/[0-9][0-9][0-9]\+,//g' k.txt > k6.txt
# 输出文件的第10000行到20000行到其他文件
sed 10000,20000p ha.txt > result.txt
5.unip:
对文件进行去重
例:
# 对1.txt排序,去重,在排序之后输出到1_tmp.txt
cat 1.txt | sort | uniq | sort > 1_tmp.txt
1.txt的内容为:
1
2
4
3
2
处理之后为:
1
2
3
4
6.sort:
对文件排序
示例
# 对1.txt排序
cat 1.txt | sort
1.txt内容为:
1
3
2
2
排序后为:
1
2
2
3
7.comm:
用于比较两个文件,某选项可以用来调整输出,好方便执行交集、求差、以及差集操作。
参数:
-1:不显示在第一个文件出现的内容;
-2:不显示在第二个文件中出现的内容;
-3:不显示同时在两个文件中都出现的内容。
例:
# 求交集(在两个文件中都出现)
comm -12 1.txt 2.txt
# 求差集(在第一个文件中有第二个文件没有)
comm -23 1.txt 2.txt
# 求差(两个文件同时有的不显示)
comm -3 1.txt 2.txtc.