2013-03-04 1 views
0

에서 잘라 내기 명령의 필드 순서를 변경하려면 입력 :어떻게 특정 형식의 필드를 인쇄 할 유닉스

col1|col2|col3|col4 

내가 사용 cat file | cut -d '|' -f 3,1,4 출력 :

col1|col3|col4 

하지만 내 예상 출력 :

col3|col1|col4 

누구든지 h 이걸로 날 도와 줄래? man cut에서

+0

[잘라 내기 명령의 출력 필드의 순서를 강제]의 중복 가능성 (http://stackoverflow.com/questions/1037171/forcing-the-order-of-output-fields- from-cut-command) – dogbane

답변

2

:

입력 선택이 읽을 경우 동일한 순서로 작성하고, 당신이해야 정확히 한 번만

를 기록됩니다

$ awk -F'|' -vOFS='|' '{print $3,$1,$4}' <<< "col1|col2|col3|col4" 
col3|col1|col4 
+0

답변을 얻었습니다 ... 고마워 :-D – Pooja

0

을 비록 awk가 좋다. 여기 펄 솔루션이다 :

perl -F"\|" -ane 'print join "|",@F[2,0,3]' 

테스트 :

> echo "col1|col2|col3|col4" | perl -F"\|" -ane 'print join "|",@F[2,0,3]' 
col3|col1|col4 
관련 문제