문제

고 싶은 다음과 같은 것이 가능합니다.

cat abcd.txt | cut -f 2,1 

과 원하는 순서 1 2 다음 출력됩니다.기계에서 나는 테스트(FreeBSD6),이것은 일어나지 않는(그것의 인쇄에서 1,2 순서).말할 수 있습니 나에게 어떻게 하면 이렇게 할 수 있습니까?

난 항상 쓸 수 있습니다 쉘 스크립트를 이렇게 반대하지만,내가 찾는 것은 뭔가가 사용하는'잘라내기'명령어 옵션이 있습니다.

내가 생각하기를 사용하여 버전 5.2.1of 않을 포함하는 절단한다.

도움이 되었습니까?

해결책

이할 수 없을 사용하여 수행 cut.에 따르면 남자 페이지:

선택 입력 쓰는 것과 같은 순서로 읽고 기록 정확하게 한다.

패치 cut 되었습 제안 시간, 지만,심지어 완벽한 패치를 거부되었습니다.

대신,를 사용하여 수행할 수 있습니다 awk, 은 다음과 같습니다.

awk '{print($2,"\t",$1)}' abcd.txt

대체 \t 와 함께 당신이 무엇을 사용하고있는 필드 구분 기호입니다.

다른 팁

라스'응답되었지만 내가 발견됩니다.문제를 그의 일치하 으로 열이 있습니다.이 문제를 해결하려면 다음을 사용합니다.

awk -v OFS="  " -F"\t" '{print $2, $1}' abcd.txt

위치:

-F"\t" 은 무엇을 잘라에서 정확히 (탭).

-v OFS=" " 은 무엇을 별도로(두 개의 공간)

예제:

echo 'A\tB\t\tD' | awk -v OFS="    " -F"\t" '{print $2, $4, $1, $3}'

이 출력:

B    D    A    
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top