大文字と小文字を区別しない一致を含む行を削除します。

大文字と小文字を区別しない一致を含む行を削除します。

次の情報を含むファイルがあります。

20    BaDDOg
31    baddog
42    badCAT
43    goodDoG
44    GOODcAT

単語を含むすべての行を削除したいですdog。これが私が望む結果です:

42    badCAT
44    GOODcAT

ただし、dog大文字と小文字を区別しません。

sedコマンドが使えると思いましたが、sed -e "/dog/id" file.txtうまく動作しないようです。これは私がOSXで作業することに関連していますか?使用できる他の方法はありますか?

ベストアンサー1

努力するgrep

grep -iv dog inputfile

-i大文字と小文字の-v一致を無視します。

使用したい場合は、sed次のようにできます。

sed '/[dD][oO][gG]/d' inputfile

GNUsed拡張パターンマッチング修飾子を使用すると、I一致は大文字と小文字を区別しませんが、すべてのスタイルで機能するわけではありませんsed

sed '/dog/Id' inputfile

しかし、OS Xでは動作しません。

おすすめ記事