파일에 다음 줄이 있고 \N
두 개의 쉼표 사이에 삽입 하고 싶습니다.
20121128020001,2012-11-28 02:00:01.000,,,,,,,3.80,,,,,
씨앗을 사용해봤는데
sed -i 's/,,/,\\N,/g' Test.CSV
나는 다음과 같은 결과를 얻습니다.
0121128020001,2012-11-28 02:00:01.000,\N,,\N,,\N,,3.80,\N,,\N,,
두 번 실행할 수 있지만 대용량 파일에서는 비효율적입니다. sed 명령을 수정하는 방법은 무엇입니까?
답변1
두 번째 쉼표가 일치의 일부가 되지 않도록 미리보기와 함께 Perl을 사용하십시오.
perl -pe 's/,(?=,)/,\\N/g'
또는 같은 줄에 같은 식을 두 번 사용합니다.
sed 's/,,/,\\N,/g;s/,,/,\\N,/g'