从特定行中删除字符串

从特定行中删除字符串

我需要构建一个脚本,将逗号分隔的值添加到文件中的特定行中。

假设我有一个包含内容的文件:

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 文件本质上的变体的最佳工具。我建议您添加更多有关数据来源及其预期用途的上下文。

相关内容