特定の行から文字列を削除

特定の行から文字列を削除

ファイルの特定の行にコンマ区切り値を追加するスクリプトを作成する必要があります。

内容を含むファイルがあるとしましょう。

DL1 : [email protected],[email protected],[email protected]
DL2 : [email protected],[email protected],[email protected]

[email protected]これでDL1から削除する必要があります。

答え1

関連投稿と同じパターンです

sed '/^DL1 :/ s/,[email protected]//' file

これは、で始まる行で何も置き換えません。,[email protected]DL1 :

答え2

真珠:

perl -lpe 'if (/^DL1 :/) {s/,?xyz\@kk\.com//; s/: \K,//}' file

AWK:

awk '/^DL1 :/ {sub(/,?xyz@kk\.com/,"");sub(": ,",": ")} 1' file

sed:

sed -E '/^DL1 :/ s/,[email protected]//; /^DL1 :/ s/: ,/: /' file

メモ:

これはCSVファイルの性質の変化を操作するのに最も適したツールではないかもしれません。データソースとその用途にさらにコンテキストを追加することをお勧めします。

関連情報