Bashからシンボルを含む行または空白行を削除します。

Bashからシンボルを含む行または空白行を削除します。

ディレクトリ内のすべての.ascファイルから「=」と「HISTORY」(常に大文字)を含む行とすべての空白行を削除するにはどうすればよいですか?

私の考えでは、次のようになります。

for file in /media/linux/DATADISK/*.asc
do
    sed '/=/d' 
    sed '/HISTORY/d' 
done

ベストアンサー1

一度にすべての作業を完了してください。

sed -E '/=|HISTORY|^$/d' /media/linux/DATADISK/*.asc

タブ/スペースのみを含む行に置き換えて削除する^$か、ファイルの改行がWindowsスタイルである可能性がある場合に使用します。^[[:blank:]]*$^[[:blank:]]*\r?$\r\n

現在の変更を更新するには、-iオプションを追加してください。man sedもっと学ぶ。

おすすめ記事