sed 削除コマンド - 大文字/小文字を含む

sed 削除コマンド - 大文字/小文字を含む

次のコマンドを使用して、次を含む行を削除しています。hotmail

sed -i '/^[^\t]*\t[^\t]*hotmail/d' ./file

テストデータは

"foxva****omes****","[email protected]","8*** Rd","Ne***ah","Wi***in","54***","*******"
"foxva****omes****","[email protected]","8*** Rd","Ne***ah","Wi***in","54***","*******"
"foxva****omes****","[email protected]","8*** Rd","Ne***ah","Wi***in","54***","*******"

現在は最初の行だけが削除されます。 2行目と3行目には大文字が含まれているため削除されません。大文字と小文字を区別しないように変更するにはどうすればよいですか?

答え1

この試み:

sed -i '/^[^\t]*\t[^\t]*hotmail/dI' ./file

ただし、最新のGNU sedを使用しないと問題が発生する可能性があります。

sed -i '/^[^\t]*\t[^\t]*[hH][oO][tT][mM][aA][iI][lL]/d' ./file

このリンクはGNU sedマニュアルにリンクされています説明Iおよびその他の修飾子。

答え2

sedには、大文字と小文字を区別しない一致のために追加できるIフラグがあります。

バラよりhttps://stackoverflow.com/questions/2157288/using-sed-to-delete-a-case-insensitive-matched-line

関連情報