Sed
通過 sed 刪除 CSV 中帶有空欄位的行
我有一個包含兩列的 CSV 文件。第一個是 ID (int),第二個是文本。所有行都有 ID 列。我想刪除第二列為空的文件(零長度或僅限空格)。
我試過了
sed -i '/^[0-9]+,\s*$/d' file.csv
但它不起作用。
您需要轉義
+
或使用\{1,\}
或添加-E
擴展正則表達式:sed -i '/^[0-9]\+,\s*$/d' file.csv sed -i '/^[0-9]\{1,\},\s*$/d' file.csv sed -Ei '/^[0-9]+,\s*$/d' file.csv
或使用
grep
:grep -v '^[0-9]\+, *$' file.csv
但是,我更喜歡合適的 csv 解析器:
csvgrep -S -c2 -r '.' file.csv