linuxでマッチした行を削除する方法を教えてください
Linuxにおけるマッチ行を削除する方法を以下に示します。
- grepコマンドで逆引きオプション(-v)
grep -v "pattern" file.txt > newfile.txt
指定されたファイルを対象に、指定されたパターンにマッチしない行を検索し、結果を新しいファイルに出力します。
- sed コマンドで一致する行を削除するには、次を使用します。
sed '/pattern/d' file.txt > newfile.txt
指定されたパターンに一致する行をファイルから削除し、結果を新しいファイルに出力します。
- awkコマンドを使用してマッチする行を削除する:
awk '!/pattern/' file.txt > newfile.txt
与えられたパターンに一致する行をファイルから削除し、結果を新しいファイルに出力します。
- viやVimエディタで一致行を削除する:
vi file.txt
:g/pattern/d
:wq
このコマンドはファイルをひらき、vi または vim エディタのコマンドモードを開始します。コマンドモードでは、「g」コマンドと「/」モードを使用して削除する行を指定し、「d」コマンドで削除したあと、最後に保存してエディタを終了します。
状況に応じて適切な方法を選択してください。