입력 샘플

입력 샘플

. ~​예를 들어 foo다섯 번째 필드의 모든 줄은 로 끝나야 합니다 Src_foo.txt.

입력 샘플

WatchListEntry_20180820_DLY_0.dat~3~NA~USD~AMLCOMP~2018-08-20~
WatchListEntry_20180820_DLY_2.dat~3~NA~USD~CBNABI~2018-08-20~
WatchListEntry_20180820_DLY_99.dat~3~NA~USD~AMLDW~2018-08-20~
BackOfficeTransaction_20180820_DLY_1.dat~5~0~USD~CBNABI~2018-08-

샘플 출력

Src_AMLCOMP.txt

WatchListEntry_20180820_DLY_0.dat~3~NA~USD~AMLCOMP~2018-08-20 

Src_AMLDW.txt

WatchListEntry_20180820_DLY_99.dat~3~NA~USD~AMLDW~2018-08-20

Src_CBNABI.txt

WatchListEntry_20180820_DLY_2.dat~3~NA~USD~CBNABI~2018-08-20
BackOfficeTransaction_20180820_DLY_1.dat~5~0~USD~CBNABI~2018-08-20

답변1

얼마나 멀리 갈 것인가?

awk -F"~" '{print >> ("Src_" $5 ".txt")}' file

이해합니다? 허용되는 최대 열린 파일 수에 근접하면 출력 파일을 닫아야 할 수도 있습니다.

답변2

이 시도:

for i in `cat file.txt`
do
        File=`echo $i | awk -F '~' '{print "Src_"$5".txt"}'`
        echo "$i" >> $File
done
  • file.txt내용을 한 줄씩 for루프에 전달합니다.
  • 5번째 필드를 추출하여 Src_접두사와 .txt접미사로 사용하여 파일 이름으로 선언합니다.
  • 그런 다음 콘텐츠를 파일로 전달합니다.

관련 정보