awk를 사용하여 파일을 분할하고 다른 디렉터리에 결과를 생성합니다.

awk를 사용하여 파일을 분할하고 다른 디렉터리에 결과를 생성합니다.

나는 awk를 사용하여 특정 열의 값을 기반으로 파일을 분할하기 위해 쉘 스크립트를 사용하고 있습니다. 그러나 내 스크립트는 폴더 X에 있으므로 폴더 Y에 결과 파일을 만들어야 합니다. 어떻게 해야 합니까?

현재 파일이 생성되는 방식은 다음과 같습니다.

awk -F';' 'NR==1{h=$0; next}
!seen[$3]++{f="FILE_"$3".txt";print h > f} 
{print >> f}' $input

답변1

내 생각엔 이 정도는 괜찮을 것 같아. 파일을 생성/업데이트하려는 디렉터리의 전체 경로를 awk에 전달하기만 하면 됩니다.

awk -F';' -v path=/path/to/alt/directory/ 'NR==1{h=$0; next}
!seen[$3]++{f= path "FILE_" $3 ".txt";print h > f} 
{print >> f}' $input

관련 정보