1. sed:
sed相當(dāng)于在線編輯器,一次處理一行內(nèi)容。Sed常用來自動(dòng)編輯一個(gè)或多個(gè)文件;簡(jiǎn)單化對(duì)文件的反復(fù)操作;編寫轉(zhuǎn)換程序等。
例:sed [OPTION] 'address Command ' file,...
其中,address表示指定要操作的行,Command表示指定操作的命令。
2.OPTION:
-n:靜默模式,模式空間中的內(nèi)容不顯示,
-i:對(duì)原文件直接修改(請(qǐng)謹(jǐn)慎使用),
-e SCRIPT -e SCRIPT:同時(shí)指定多個(gè)腳本,
-f /PATH/TP/SED_SCRIPT:從文本中加載腳本,
-r:使用擴(kuò)展正則表達(dá)式。
3.address:
指定要操作的位置
起始行,結(jié)束行。
4.function:
a :新增,
c :取代,
d :刪除,
i :插入,
p :列印,
s :取代,
例:20s/old/new/g.
例:
# 將文件中,三位以上數(shù)字,并且后面有逗號(hào)的字符串替換為空,比如“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:
對(duì)文件進(jìn)行去重
例:
# 對(duì)1.txt排序,去重,在排序之后輸出到1_tmp.txt
cat 1.txt | sort | uniq | sort > 1_tmp.txt
1.txt的內(nèi)容為:
1
2
4
3
2
處理之后為:
1
2
3
4
6.sort:
對(duì)文件排序
示例
# 對(duì)1.txt排序
cat 1.txt | sort
1.txt內(nèi)容為:
1
3
2
2
排序后為:
1
2
2
3
7.comm:
用于比較兩個(gè)文件,某選項(xiàng)可以用來調(diào)整輸出,好方便執(zhí)行交集、求差、以及差集操作。
參數(shù):
-1:不顯示在第一個(gè)文件出現(xiàn)的內(nèi)容;
-2:不顯示在第二個(gè)文件中出現(xiàn)的內(nèi)容;
-3:不顯示同時(shí)在兩個(gè)文件中都出現(xiàn)的內(nèi)容。
例:
# 求交集(在兩個(gè)文件中都出現(xiàn))
comm -12 1.txt 2.txt
# 求差集(在第一個(gè)文件中有第二個(gè)文件沒有)
comm -23 1.txt 2.txt
# 求差(兩個(gè)文件同時(shí)有的不顯示)
comm -3 1.txt 2.txtc.