다음 명령이 있습니다.
(head -1 invoice.txt && sed '1d' invoice.txt |sort -rn -k4,4) |column -ts $'\t' |less -S
head -1
첫 번째 줄을 인쇄합니다.sed "1d'
부드러운 것이 혼동되지 않도록 첫 번째 줄을 제거하십시오.sort -rn -k4,4
내 파일을 네 번째 열로만 정렬column -ts $'\t'
탭으로 파일 분할less -S
터미널에서 인쇄하세요
첫 번째, 네 번째, 마지막 열만 인쇄하고 싶습니다. 작은 파일이지만 이 템플릿을 사용할 14개의 열이 있는 파일과 21개의 열이 있는 파일이 있습니다.
현재 출력을 파이프하기 위해 cut
, awk
또는 다른 명령을 사용해야 할지 잘 모르겠습니다 .print
답변1
첫 번째, 네 번째 및 마지막 탭으로 구분된 열만 표시하고 두 번째 열의 데이터는 머리글을 무시하고 숫자로 정렬하려고 합니다.
awk -F '\t' 'BEGIN { OFS=FS } { print $1, $4, $NF }' invoice.txt >tmpfile
{
head -n 1 tmpfile
sed '1d' tmpfile | sort -k 2,2rn
} | less -S
또는 임시 파일을 무시하고 모든 것을 awk
복합 명령으로 파이프할 수 있습니다. 필요한 경우 앞에 { ...; }
추가하세요 .column -ts $'\t'
less -S