複数の単語が含まれている場合、ファイルの各行から最初の単語を削除するにはどうすればよいですか?条件付きで最初の単語を削除する
ファイル:
test test2
test3
test4 test5 test6
test7
結果:また
test2
test3
test5 test6
test7
、どのように私はつまり、ファイルの上からだけで最後の単語を保存することができ、
結果2:
test2
test3
test6
test7
複数の単語が含まれている場合、ファイルの各行から最初の単語を削除するにはどうすればよいですか?条件付きで最初の単語を削除する
ファイル:
test test2
test3
test4 test5 test6
test7
結果:また
test2
test3
test5 test6
test7
、どのように私はつまり、ファイルの上からだけで最後の単語を保存することができ、
結果2:
test2
test3
test6
test7
SEDソリューションを各行の最後の単語を取得し、新しいファイルに保存するには、次の行にスペースが含まれている場合、我々はいくつかの単語があることを知っていますしたがって、最初のスペースまでのすべてを削除します。
$ sed '/ /s/[^ ]* //' infile
test2
test3
test5 test6
test7
もう一度、スペースを確認します。 1つがある場合は、最後のスペースまでをすべて削除します(.*
は貪欲です)。
$ sed '/ /s/.* //' infile
test2
test3
test6
test7
単語はスペースで区切られていないが、例えば、タブのために、我々は[[:blank:]]
と上の空間のすべてのインスタンスを置き換えることができた場合:
sed '/[[:blank:]]/s/[^[:blank:]]*[[:blank:]]//' infile
エトセトラ。
スペース/空白の確認は厳密には必要ではない:1がない場合、置換は何もしませんので、
sed 's/[^ ]* //' infile
と
も働くだろうsed 's/.* //' infile
、私の意見では、空白をチェックすると、その意図がより明確に表現されます。
各lの最初の単語を削除するには伊根、
cut -d' ' -f2- fileName
は、
awk '{print $NF}' fileName > newFileName