다음 값이 포함된 파일이 있습니다.
Server1,12.22.21.13,1234,[email protected]
Server2,12.12.12.12,1223,[email protected]
Server3,13.11.11.11,1234,[email protected]
Server4,11.11.11.11,1234,[email protected]
이메일 주소를 기준으로 파일을 분할하고 싶습니다. 이메일이 포함된 모든 행[이메일 보호됨]라는 파일에 나타나야 합니다.파일 1등.
이는 매우 큰 파일이므로 사례 설명에 모든 이메일 ID를 하드코딩할 수 없습니다.
답변1
(멍하니)
awk -F"," '{ print $0 >> $4".csv"}' filename
설명하다:
-F"," -- Use "comma" field separator (FS)
$0 -- the whole line of input
$4 -- the 4-th field of line ($NF -- the last field)
>> -- redirection operator, from `info gawk':
'print ITEMS >> OUTPUT-FILE'
This redirection prints the items into the preexisting output file
named OUTPUT-FILE. The difference between this and the single-'>'
redirection is that the old contents (if any) of OUTPUT-FILE are
not erased. Instead, the 'awk' output is appended to the file. If
OUTPUT-FILE does not exist, then it is created.