Linux

刪除 CSV 中第二個欄位中包含特定模式的行

  • September 13, 2018

如何刪除 .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,

使用sed並刪除第二個欄位包含的行content,您可以執行以下操作:

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

或刪除第二場星標的content

sed '/^[^,]*,content/d' infile
awk -F, '$2 !~ /content/' file.csv

如果您的意思是“刪除第二個欄位“內容”開頭的行,那麼

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

引用自:https://unix.stackexchange.com/questions/468860