두 개의 열이 있는 CSV 파일이 있습니다. 첫 번째는 ID(int)이고 두 번째는 텍스트입니다. 모든 행에는 ID 열이 있습니다. 두 번째 열이 비어 있는(길이가 0이거나 공백임) 파일을 삭제하고 싶습니다.
나는 노력했다
sed -i '/^[0-9]+,\s*$/d' file.csv
하지만 작동하지 않습니다.
답변1
확장 정규식을 이스케이프 +
하거나 사용하거나 \{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