그래서 내 파일에는 CSV 형식을 거의 나타내는 일부 텍스트가 있지만 정확하지는 않습니다. 하지만 CSV 파일로 변환하고 싶습니다.
예를 들면 다음과 같습니다.
cuz,0,1,2,3,-4,abc,a b c,0
어떻게 하면 그것을 바꿀 수 있나요?
"cuz",0,1,2,3,-4,"abc","a b c",0
어떤 도움이라도 대단히 감사하겠습니다!
미리 감사드립니다.
답변1
멍하니방법:
gawk -i inplace -F, '{for(i=1;i<=NF;i++){
if ($i!~/^-?[0-9]*$/) $i=sprintf("\"%s\"",$i); }}1' OFS=',' file
콘텐츠 file
:
"cuz",0,1,2,3,-4,"abc","a b c",0
-i inplace
- 허용하다제자리에파일 수정
$i!~/^-?[0-9]*$/
- 패턴은 숫자 이외의 문자가 포함된 필드에만 일치합니다.