나는 1개의 숫자 열(길이=14)을 포함하는 텍스트 파일인 큰 목록을 가지고 있습니다. 번호에는 00001-00004라는 4개의 서로 다른 접두사가 있습니다. 1개의 목록을 4개의 diffrend 파일로 분할하려면 어떻게 해야 합니까? 파일 1개에는 접두사가 1개인 숫자 목록이 포함되어야 합니다.
답변1
다음 awk
명령을 사용하십시오.
awk '/^00001/{print >"file1"} \
/^00002/{print >"file2"} \
/^00003/{print >"file3"} \
/^00004/{print >"file4"}' inputfile
줄에 어떤 접두사가 있는지 확인하고 전체 줄을 에 인쇄 file1
합니다 file4
. inputfile
큰 목록이 포함된 파일입니다.
답변2
(G)awk 및 일치 사용
awk 'match($0,/^0000([1-4])/,a){print > "file"a[1]}' file
POSIX awk
awk '/0000[1-4]/{print > "file"substr($0,5,1)}' file
또는 둘 다 접두어가 있는 경우
awk '{print > "file"substr($0,5,1)}' file
답변3
무료로 사용하실 수 있습니다bash
while IFS= read -r num
do
echo "$num" >> "file${num:4:1}"
done < number_list.file