답변:
테스트 할 OSX 상자가 없지만 다음을 시도하십시오.
sed -E '
s/^([^,]*),([^,]*),([^,]*),(.*)/\1\x1f\2\x1f\3\x1f\4/
s/,/;/g
s/\x1f/,/g
' file
그러면 처음 3 개의 쉼표가 ASCII "단위 구분 기호"제어 문자로 변환되고 나머지 모든 쉼표가 세미콜론으로 변환 된 다음 제어 문자가 다시 쉼표로 변환됩니다.
데모:
$ echo "a,b,c,d,e,f" | sed -E 's/^([^,]*),([^,]*),([^,]*),(.*)/\1\x1f\2\x1f\3\x1f\4/; s/,/;/g; s/\x1f/,/g'
a,b,c,d;e;f