如何從文件中的每一行刪除第一個字,如果它包含多個字?有條件地刪除第一個字
文件:
test test2
test3
test4 test5 test6
test7
結果:
test2
test3
test5 test6
test7
另外,我怎麼能保存從上面的文件只有最後一個字,即
RESULT2:
test2
test3
test6
test7
如何從文件中的每一行刪除第一個字,如果它包含多個字?有條件地刪除第一個字
文件:
test test2
test3
test4 test5 test6
test7
結果:
test2
test3
test5 test6
test7
另外,我怎麼能保存從上面的文件只有最後一個字,即
RESULT2:
test2
test3
test6
test7
一個sed的解決方案:如果該行包含一個空間,我們知道有幾個單詞,所以我們刪除了一切,包括第一個空格。
$ sed '/ /s/[^ ]* //' infile
test2
test3
test5 test6
test7
相反,我們再次檢查空間;如果有的話,我們會刪除一切,包括最後一個空格(.*
是貪婪的)。
$ sed '/ /s/.* //' infile
test2
test3
test6
test7
如果字不是由空格分隔,但是,例如翼片,就可以替換上面[[:blank:]]
的空間的所有實例:
sed '/[[:blank:]]/s/[^[:blank:]]*[[:blank:]]//' infile
等等。
檢查的空間/空白不是絕對必要的:如果沒有一個,替換沒有做任何事情,所以
sed 's/[^ ]* //' infile
和
sed 's/.* //' infile
也將工作,但在我看來,檢查空白表達意圖更清楚。
刪除每個l的第一個單詞國家統計局,
cut -d' ' -f2- fileName
要得到每行的最後一個字,並將其保存在一個新的文件,
awk '{print $NF}' fileName > newFileName