내 데이터는 다음과 같습니다. 예:
454|12 13 |인민전화(차이나 모바일 홍콩)|0.0118
454|06 15 17 |SmarTone 모바일 커뮤니케이션(P Plus)|0.0412
저는 유닉스/리눅스를 처음 접했습니다. 다음과 같이 데이터를 채울 수 있는 명령이 있는지 알고 싶습니다.
45412 | 인민전화(차이나 모바일 홍콩) |
0.0118
45406 | SmarTone 모바일 커뮤니케이션
(P Plus)
| 통신(P 플러스)|0.0412
gawk 명령을 사용하여 첫 번째 부분을 인쇄합니다.
(멍하니 'BEGIN{FS="|"}{print $1}'
그러나 모든 돌파구와 연결하는 데 실패했습니다. 당신의 도움이 필요합니다.
답변1
gawk 'BEGIN{FS="|"}{n=split($2,a," "); for (i = 1; i <=n ; i++) printf "%s%s|%s|%s\n", $1,a[i],$3,$4;}'