當前位置:成語大全網 - 書法字典 - Linux shell遍歷當前文件夾中的txt文件並處理它以生成壹個新文件。

Linux shell遍歷當前文件夾中的txt文件並處理它以生成壹個新文件。

以a.txt為例:

awk?-v?RS=““?'{?

n?=?split($0,a,"《[^》]+》“);

for(I = 2;我& ltn;i+=2)

打印?《關鍵詞》a【I】《關鍵詞》?

}'?a.txt?& gt& gt。/newfile/a.txt就這樣。

為了可讀性,我在多行上寫了壹個awk語句。

實際測試結果如下:

評論:

RS=““

將awk的記錄分隔符設置為null(默認為換行符),也就是說,將整個a.txt文本視為壹條記錄。

split($0,a,"《[^》]+》“);

以常規的“【】+”匹配內容為分隔符,對文本內容進行分段並將分段結果存儲在數組A中,分段數(數組大小)為split函數的返回值n。我暫時不會在這裏過多解釋正則化,否則會喧賓奪主。如果有必要,請詢問,我會添加它。

for(I = 2;我& ltn;i+=2)

打印“《關鍵詞》a【I】”《關鍵詞》

打印數組中偶數編號的元素,並在開頭和結尾添加關鍵字標簽以進行恢復。數組下標從1開始。

其他文檔也可以用同樣的方式處理。如果文件很多,可以循環進行。這應該不難。