我有一個CSV文件中像這樣:如何刪除CSV文件中包含搜索字詞完全匹配的所有行?
text,0
more text,2
some more text,100
我需要刪除僅在第二列中包含0
任何線路,例如,在輸出上面會:
more text,2
some more text,100
哪有我從CSV中刪除了完全匹配的所有行?
我有一個CSV文件中像這樣:如何刪除CSV文件中包含搜索字詞完全匹配的所有行?
text,0
more text,2
some more text,100
我需要刪除僅在第二列中包含0
任何線路,例如,在輸出上面會:
more text,2
some more text,100
哪有我從CSV中刪除了完全匹配的所有行?
如果這是你的最後一個字段,grep的將這樣的伎倆:
grep -v ',0$'
如果沒有,你的領域不包含,
,用awk:
awk -F , '{if ($2!='0') print}'
如果是更復雜通過CSV解析器使用python或ruby。
如果你想要一個聯編輯到您的文件,你可以嘗試以下。記住在嘗試任何在線編輯之前備份您的文件。 (將刪除包含匹配的行)
sed -i "s/.*match.*//g" /yourfile.csv
刪除文件中的空行。 (記得備份你的文件之前嘗試任何聯編輯。)
sed -i "/^$/d" /yourfile.csv
對於OS X你可以試試下面的(記得備份你的文件之前嘗試任何聯編輯。)
這可能會爲你工作:
awk -F, '$2' file
請注意,這也會刪除空行'$ 2'的行 – 2012-04-18 14:15:36
一個簡單的sed的解決方案...
sed /,0$/d
注:我使用的情況下,雙引號,你可以使用sed命令中的變量。 – E1Suave 2012-04-18 19:46:49