本文主要介紹如(rú)何在Shell中删除長行,非常詳細,有一(yī)定的參考價值。有興趣的朋(péng)友一(yī)定要看!
Shell中如(rú)何删除文本比較長的行的實現(xiàn)方法
有時(shí)需要删除文件。這(zhè)時(shí)常用vi命令中的dd命令,比如(rú)10G(跳(tiào)轉到第10行),然後是20dd(删除第20行)。但(dàn)是,實際情況未必如(rú)此套路(lù)。例如(rú),如(rú)果要删除一(yī)個(gè)文件中長度超過200個(gè)字符的一(yī)行,如(rú)果文本比較小,那就(jiù)可以了(le),如(rú)果是幾萬行或者幾十萬行。想用vi是不現(xiàn)實的。我想到的方式是:比如(rú)通過sed,awk,egrep命令來(lái)達到目的。舉個(gè)簡單的例子(zǐ)。
假設下(xià)面的文本文件,删除長度超過5個(gè)字符的。
root@linux#catdata
一(yī)個(gè)
22
333
4444
55555
666666
7777777
88888888方法一(yī): 使用awk命令的length()函數
root @ Linux # catdata | awk“{ if(length($ 0)=4)print $ 0 }”
一(yī)個(gè)
22
333
4444方法二: 使用grep命令
root@linux#catdata|egrep-w'^.{1,4}'
一(yī)個(gè)
22
333
4444方法三: 使用sed命令
root@linux#catdata|sed-n'/^.\{5,\}/!' wNewFile '
root@linux#catNewFile
一(yī)個(gè)
22
333
4444備注:
1.使用awk,grep命令時(shí),可以将處理(lǐ)過的文件重定向到另一(yī)個(gè)新(xīn)文件
2.參數,這(zhè)意味着單詞隻匹配模式
3.表示以任何字符開始的一(yī)行。這(zhè)與-w命令配合使用。這(zhè)很關(guān)鍵,否則就(jiù)找不到了(le)
4.w!指示所有模式都不匹配,w是輸出,寫入新(xīn)文件新(xīn)文件
“如(rú)何删除Shell中的長行”這(zhè)篇文章的内容就(jiù)這(zhè)麽多了(le)。感謝閱讀!希望分(fēn)享的内容對大家有幫助,更多相關(guān)知識。歡迎關(guān)注微子(zǐ)網絡!
Copyright © 2013-2016 WWW.VZIDC.COM . All Rights Reserved. 微子(zǐ)網絡 版權所有 江蘇微子(zǐ)網絡科技有限公司