2014-07-11 3 views
0

탭으로 구분 된 파일 "FILE"에서 B 열에서 D 열로 데이터를 가져 오려고합니다. 필자가 사용하는 간단한 AWK 코드는 데이터를 가져 오지만 불행히도 출력을 단일 열에 유지하고 식별자를 제거합니다 (아래 참조).AWK를 사용하여 특정 열 인쇄

의견을 보내주십시오.

CODE

awk '{for(i=2;i<=4;++i)print $i}' FILE 

FILE

  A   B    C    D    E    F    G 
    1_at 10.8435630935 10.8559287854 8.6666141543 8.820310681  9.9024050571 8.613199083 11.9807771094 
    2_at 4.7615531106 4.5209119307 11.2467919586 8.8105151099 7.1831990104 11.0645055836 4.3726598561 
    3_at 6.0025262754 5.4058080843 3.2475272982 3.1869728585 3.5654989547  

OUTPUT 왜 직접 cut를 사용하지 않는

B 
C 
D 
10.8435630935 
10.8559287854 
8.6666141543 
4.7615531106 
4.5209119307 
11.2467919586 
6.0025262754 
5.4058080843 
3.2475272982 
+0

'AWK ''{$ 3 $ 4 $ 5 인쇄} '? –

+0

'awk '$ 0 = $ 2 ""$ 3 ""$ 4 "? –

답변

1

을 획득? awk

$ cut -d$'\t' -f2-4 < file 
B C D 
10.8435630935 10.8559287854 8.6666141543 
4.7615531106 4.5209119307 11.2467919586 
6.0025262754 5.4058080843 3.2475272982 

당신은 print의 새로운 라인을 방지하기 위해 printf을해야합니다 :

awk -F"\t" '{for(i=2;i<=4;++i) printf "%s%s", $i, (i==4?RS:FS)}' 
+1

왜 반복할까요? –

+1

내가 어떻게해야하는지 보여주기 위해 추가했는데, 분명히 필요는 없습니다. – fedorqui

관련 문제