awk 한 줄 스크립트를 독립형 스크립트로 변환하는 방법은 무엇입니까? [폐쇄]

awk 한 줄 스크립트를 독립형 스크립트로 변환하는 방법은 무엇입니까? [폐쇄]

awk이 한 줄의 코드를 독립형 스크립트로 어떻게 다시 작성할 수 있습니까 ? 작동 방식을 이해하는 데 도움이 되도록 가독성을 높이고 싶습니다.

awk 'BEGIN{FS=OFS=";"} NR==FNR{for(i=2;i<=7;i++) if($i!="\"\"") a[$1]=a[$1] FS $i;next} {n=split(a[$1],f,FS); if(n>7)n=7; for(i=2;i<=n;i++) $i=f[i]}1' csv{,}

답변1

구문이 선택 해제되고 선택 해제되어 있으므로 그것이 무엇을 하는지, 작동하는지 알 수 없습니다. 나는 한 줄의 코드를 독립형 awk 스크립트로 다시 포맷하고 가독성을 높이기 위해 공백을 추가했습니다. 원래 줄이 작동했다면 이것도 작동할 것입니다. 그렇지 않다면 그렇지 않습니다.

#! /usr/bin/awk -f

BEGIN {FS=OFS=";"}

NR==FNR { 
  for(i=2;i<=7;i++) if($i!="\"\"") a[$1]=a[$1] FS $i;
  next
}
{
 n=split(a[$1],f,FS);
 if(n>7)n=7;
 for(i=2;i<=n;i++) $i=f[i]
}
1

파일(예 myscript.awk: )에 저장하고 실행 가능하게 만든 후( chmod +x myscript.awk) 실행합니다.

./myscript.awk csv{,}

관련 정보