web-dev-qa-db-ja.com

sed +ファイルの最後の行でのみ文字列を削除します

次のsedコマンドを使用して、ファイルからline number文字列を削除します

sed -i s'/line number//g' file

しかし、ファイルの最後の行にline numberが存在する場合にのみ、それを削除するためにsed構文を変更する必要がありますか?

19
lidia

私はあなたの質問を完全に理解しているかどうかはわかりませんが、これはあなたを助けることができます:

sed -i '$ s/line number//g' file

これにより、($のため)最後の行でのみ置換が実行され、line numberは何も置き換えられません。

man sed、セクションアドレスは、テキストの一部にsedコマンドを適用する方法を理解するのに役立ちます。

30
Scharron

非GNUであるSunOSを使用している場合は、次のコードが役立ちます。

sed '$d' tmp.dat > test.dat
1
Nasri Najib