顧客ドメイン名拡張子(.csvファイル)のみを削除してください。

顧客ドメイン名拡張子(.csvファイル)のみを削除してください。

顧客のメールリストがありますが、.br で終わる一部のメールを削除したいと思います。私は通常、次のコマンドを実行します。

sed -i '/.br/d' customers.csv

ただし、これにより同様の顧客の電子メールも削除されます[email protected]

顧客の詳細の例は次のとおりです。

"Phone Number","[email protected]","NAME"

で終わる顧客の電子メールだけを削除する方法は.br

ベストアンサー1

使用ミラーmlr)は、ファイルをヘッダーなしのCSVファイルに読み込み、.br2番目のフィールドが次に終わらないレコードのみをフィルタリングするようにフィルタリングします。

mlr --csv -N filter '$2 !=~ "\.br$"' file

出力のすべてのフィールドを参照するには、--quote-all後に追加します-N。ヘッダーがある場合はそれを削除し、-N代わりにヘッダー名を使用してください$2(例:)$email !=~ "\.br$"

テスト:

$ cat file
"Phone Number","[email protected]","NAME"
"Phone Number2","[email protected]","NAME2"
"Phone Number3","[email protected]","NAME3"
"Phone Number","[email protected]","NAME"
"Phone Number","[email protected]","NAME.br"
$ mlr --csv -N filter '$2 !=~ "\.br$"' file
Phone Number,[email protected],NAME
Phone Number3,[email protected],NAME3
Phone Number,[email protected],NAME
Phone Number,[email protected],NAME.br

おすすめ記事