. ~
예를 들어 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
접미사로 사용하여 파일 이름으로 선언합니다. - 그런 다음 콘텐츠를 파일로 전달합니다.