Bash / Linuxで特定の行を削除する方法は?

Bash / Linuxで特定の行を削除する方法は?

私がこのファイルを持っているとしましょう。

username1
username2
username3

私が言った内容を含む行を削除したいと思います。たとえば、

$ deletestuff abovefile username2
$ cat file
username1
username3

答え1

sed -i内部編集用。/regexp/d一致する行を削除しますregexp

sed -i /username2/d file

行全体を一致させるには(たとえばusername222削除しないように)、^およびを使用して$行の先頭と末尾に検索を固定します。

sed -i '/^username2$/d' file

関連情報