ファイルに別の行がある場合にのみ、ファイルから特定の行を削除する方法は?

ファイルに別の行がある場合にのみ、ファイルから特定の行を削除する方法は?

ファイルに別の行がある場合にのみ、ファイルから特定の行を削除する方法は?

たとえば、次のファイルに触れないでください。

cat file.txt
ASDF

ただし、このファイルから「ASDF」を削除してください。

cat file.txt
ASDF
TR422

「ASDF」以外に他の行があるからです。

Bash、Perl、または他の一般的なツールのソリューションを歓迎します。

ベストアンサー1

使用bashsed

if [[ $(< "$file") != "ASDF" ]]; then
  sed -i '/^ASDF$/d' "$file"
fi

おすすめ記事