Unixテキストファイルから特定の小文字を含むすべての行を除外します。

Unixテキストファイルから特定の小文字を含むすべての行を除外します。

下/上の文字の組み合わせを含むテキストファイルがあります。特定の小文字が現れる行を削除したいと思います。

テキストファイルの内容:

aASDF1234qwerty;lkJHG
fdsaAghiyirchgdadgqa2

アクション - 小文字「a」、「e」、「j」、「k」が表示されるすべての行を削除します。

大文字のみのすべての行を取得するために以下のオプションを試しましたが、期待どおりに機能しませんでした。grep -wo '[[:alnum:]]*A*E*J*K*[[:alnum:]]*' test.txt

答え1

使用grep:

grep -v '[aejk]' /path/to/file

使用awk:

awk '! /[aejk]/ { print }' /path/to/file

使用sed:

sed '/[aejk]/d' /path/to/file

これらの例のすべてで使用されている正規表現は、「/[aejk]/次の文字の1つ:a、、、または」で符号化できます。呼び出すと、一致するすべての行が返されます。ejkgrepawkいいえ対応する式と一致します。呼び出しのsed最終結果は同じですが、次のように動作します。省略解析されたファイルのすべての行でするマッチ。

関連情報