删除 CSV 中第二个字段中包含特定模式的行

删除 CSV 中第二个字段中包含特定模式的行

如何删除 .csv 文件中第二个字段包含单词 的行content

例子 :

ams-hbase-log4j,content:\n#LicensedtotheApacheSoftwareFoundation(ASF)underone\n#ormorecontributorlicenseagreements
ams-log4j,content:\n#\n#LicensedtotheApacheSoftwareFoundation(ASF)underone\n#ormorecontributorlicenseagreements.
ams-site,timeline.metrics.cache.size:150,

预期产出

ams-site,timeline.metrics.cache.size:150,

答案1

使用sed和 删除第二个字段包含的行content,您可以这样做:

sed '/^[^,]*,[^,]*content/d' infile

或删除第二个字段的行星星content

sed '/^[^,]*,content/d' infile

答案2

awk -F, '$2 !~ /content/' file.csv

如果您的意思是“删除第二个字段所在的行以。。开始“内容”,那么

awk -F, '$2 !~ /^content/' file.csv

答案3

基本上你可以用最简单的方式做的是:

cat "/dir/yourfile.csv" | grep -v ",content:" > newcsvfile.csv

如果你想使用相同的文件名,那么你可以这样做:

cat "/dir/yourfile.csv" | grep -v ",content:" > tmpfile && mv tmpfile "/dir/yourfile.csv"

相关内容