2016-07-19 3 views
-1

awk을 사용하여 전체 문자열을 가져올 수 없습니다. 예를 들어, File.txt를가awk를 사용하여 전체 문자열 얻기

C1 C2 C3 
A B 'A B C' 
C D 'D E F' 

내가 코드를 아래에 사용하는 경우,

awk '{print $1 "," $3}' File.txt 

내가 같은 출력을 얻고,

A,'A 
C,'D 

예상 출력은,이

A,'A B C' 
C,'D E F 
+0

파일 내용의 형식이 잘못 되었습니까? 나에게 1 달러는 C1이고 3 달러는 C3가 될 것인가? –

+0

포맷이 작동하지 않았습니다. – Rock

+0

형식 도움말을 읽고 올바르게 작성하십시오. 입력 내용을 추측 할 수는 없습니까? –

답변

1
으로 구분한다
awk '{print $1 "," $3,$4,$5}' file 
A,'A B C' 
C,'D E F' 
+0

$ 3, $ 4, $ 5로 이미 시도했습니다. 이것과 같은 다른 방법은 더 긴 문자열에는 적합하지 않습니다. – Rock

2

기본값 인 de limimeter for awk는 공백입니다. 데이터 탭을 가지고 있기 때문에, 당신은 '\의 t'

file.txt를

A B 'A B C' 
C D 'D E F' 

awk 명령

awk '{BEGIN FS="\t"}{print $1 "," $3}' <file.txt 

출력

A,'A B C' 
C,'D E F' 
관련 문제