2016-08-20 2 views
-1

특정 .txt 파일의 특정 열을 다른 .txt 파일로 옮길 수 있습니까? 이 주어진 파일을 출력해야한다 그래서 둔한와Gawk 회선 제거, 분배기 :

USERID:ORDER#:IP:PHONE:ADDRESS:POSTCODE 
USERID:ORDER#:IP:PHONE:ADDRESS:POSTCODE 

내가 다른이 .txt로 주소 & 우편 번호 열을 추출 할 :

나는 포함 .txt 인이

ADDRESS1:POSTCODE1 
ADDRESS2:POSTCODE2 

+0

: 출력에 ":"입력에 의해 구분되는 것을 지정하고 새로운 인쇄 ""당신은 "-F"를 사용하려는 당신이 출력을 원하는가 별도의 줄? 왜냐하면 그것은 처음에는 사실이 아니기 때문입니다. –

+2

awk 맨 페이지 나 튜토리얼을 간략하게 보면 어떻게하는지 알 수 있습니다. ** 문제 해결에 ** 약간의 노력을 기울이십시오. –

답변

0

이것은 고전적인 AWK 변환이됩니다. 내가 잃었어요

awk -F: '{ print $5 ":" $6 }' <input.txt >output.txt 
0

것을보십시오 :

awk -F: '{printf "%s:%s ",$5,$6}' ex.txt 
(만약 내가 제대로 이해 한 줄에)

입력

ADDRESS1:POSTCODE1 ADDRESS2:POSTCODE2 

것은, 기본적으로는이 후행 공백으로 끝나면과 줄 바꿈으로 끝나지 않는다는 것입니다

USERID:ORDER#:IP:PHONE:ADDRESS1:POSTCODE1 
USERID:ORDER#:IP:PHONE:ADDRESS2:POSTCODE2 

출력입니다. 약간 더 복잡한 (하지만 여전히 읽을 수)에 고정 될 수

는 :

awk -F: 'BEGIN {z=0;} {if (z==1) { printf " "; } ; z=1; printf "%s:%s",$5,$6} END{printf"\n"}' ex.txt 
+0

빠른 질문. 프로그램에서 사용할 .txt 파일을 어떻게 지정해야합니까? 아니면 출력 파일이 아닌 ex.txt입니까? –

+0

'ex.txt'가 입력입니다. 파일로 리디렉션하려면'> out.txt'를 끝에 추가하십시오. –

+0

오류, gawk : 'BEGIN gawk :^ –

0
awk -F: 'NR==1 {print $5"1:"$6"1"};NR==2 {print $5"2:"$6"2"}' file 
ADDRESS1:POSTCODE1 
ADDRESS2:POSTCODE2