2番目のフィールドに単語を含む.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
2番目のフィールドに含まれる行を使用して削除するには、content
次の手順を実行します。
sed '/^[^,]*,[^,]*content/d' infile
または、2番目のフィールドの行を削除してください。星そしてcontent
:
sed '/^[^,]*,content/d' infile
答え2
awk -F, '$2 !~ /content/' file.csv
「2番目のフィールドを持つ行を削除」を意味する場合によって。 。スタートそれから「コンテンツ」
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"