變量 |
說(shuō)明 |
$0 |
當(dāng)前記錄; |
$1, $2, … $n |
當(dāng)前記錄的字段 |
FILENAME |
當(dāng)前的文件名 |
FS |
輸入字段的分隔符, 可通過(guò)-F修改. 如: 先通過(guò)sed把空格替換為|,然后管道輸送給awk: |
NF |
當(dāng)前記錄的字段數(shù) |
NR |
當(dāng)前記錄編號(hào) |
OFS |
輸出字段分隔符 |
ORS |
輸出記錄分隔符 |
RS |
記錄分隔符, 默認(rèn)為換行符 |
sed
sed '2,5d' file 顯示文件file,除去2-5行,但行數(shù)超過(guò)文件實(shí)際行數(shù)時(shí)不會(huì)報(bào)錯(cuò)。
sed '/10[1-4]/d' file 顯示文件file,除去包含101-104的行。
sed '2,$d' file 顯示文件,只顯示第一行。sed '2,$!d' file則只顯示除第一行外的其它行。
sed '/^ *$/d file 刪除文件中的空行。
sed -n '/10[1-4]/p' file
只顯示文件file中包含101-104的行。(n和p必須同時(shí)使用,否則只有p時(shí)顯示全部文件并多顯示一次找到的行)
sed -n '5p' file 只顯示文件的第5行
sed 's/moding/moden/g' file 將moding替換為moden
sed -n 's/^west/north/p' file 將west開(kāi)頭的行替換為north并顯示出來(lái)。
sed 's/[0-9][0-9][0-9]$/.5/' file 將file文件中以3個(gè)數(shù)字結(jié)尾的行替換為原數(shù)字加".5",代表搜索到的字符串。
sed 's/moding/\1en/g file 將mod做為模式1封裝在括號(hào)里,然后替換。
sed 's/...$//' file 刪除每一行的最后三個(gè)字符。
sed 's/^...//' file 刪除每一行的頭三個(gè)字符。
sed 's#moding#moden#g' file將moding替換為moden,s后面的#代表搜索串和替換串之間的分界符。
sed -n '/101/,/105/p' file 顯示從101的匹配行到105的匹配行。如果只找到101的匹配行,則從101的匹配行到文件末。
sed -n '2,/999/p' file 顯示從第2行到匹配行。
sed'/101/,/105/s/$/ 20050119/' file將從101的匹配行到105的匹配行的行末增加" 20050119"內(nèi)容。
sed -e '1,3d' -e 's/moding/moden/g'file 先刪除文件的1-3行,再進(jìn)行替換。
sed -e '/^#/!d' file 顯示文件以#開(kāi)頭的行。
sed '/101/r newfile' file 在每個(gè)匹配行增加文件newfile的內(nèi)容
sed '/101/w newfile' file 把匹配行寫(xiě)入newfile。
sed '/101/a new text' file 在匹配行后增加一新行。
sed '/101/i' new text' file 在匹配行前增加一新行。
sed '/101/c new text' file 用新行替換匹配行。
sed 'y/abcd/ABCD/' file 將a、b、c、d分別替換為ABCD。
sed '5q' file 顯示到第5行時(shí)退出。
sed '/101/{ n; s/moding/moden/g; }' file在文件中找到匹配行的后一行(n)再進(jìn)行替換。
sed '/101/{ s/moding/moden/g; q; }' file在文件中找到第一個(gè)匹配行后進(jìn)行替換后再退出。
sed -e '/101/{ h; d; }' -e '/104/{ G; }'file 在文件中找到與101匹配行后先存在一個(gè)緩存中,再放在與104匹配行后。
sed -e '/101/{ h; d; }' -e '/104/{ g; }'file 在文件中找到與101匹配行后先存在一個(gè)緩存中,再替代104的匹配行。
sed -e '/101/h' -e '$G' file 將最后一個(gè)匹配行放在文件末。
sed -e '/101/h' -e '$g' file 將最后一個(gè)匹配行替換文件末行。
sed -e '/101/h' -e '/104/x' file 在文件中找到與101匹配行后先存在一個(gè)緩存中,再與104的匹配行進(jìn)行互換。
echo –ltr 1.txt | sed‘s/^.* //’ 找出文件名
grep
常用的grep選項(xiàng)
-c 只輸出匹配行的計(jì)數(shù)。// 這條有時(shí)候很有用, 不需要再 | wc -l
-i 不區(qū)分大小寫(xiě)(只適用于單字符)。
-h 查詢多文件時(shí)不顯示文件名。
-l 查詢多文件時(shí)只輸出包含匹配字符的文件名。
-n 顯示匹配行及行號(hào)。
-s 不顯示不存在或無(wú)匹配文本的錯(cuò)誤信息。
-v 顯示不包含匹配文本的所有行。
例子
標(biāo)簽:臺(tái)州 哈密 玉樹(shù) 九江 海東 昌都 孝感 優(yōu)質(zhì)穩(wěn)定
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《總結(jié)Linux中用于文本處理的awk、sed、grep命令用法》,本文關(guān)鍵詞 總結(jié),Linux,中,用于,文本,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。