
파일이 여러 개 있습니다.
파일 1
a 1 2
b 3 2
파일 2
a 2 2 3
b 4 3 3
파일 3
d 3 1 2 4
e 4 1 1 2
정렬 후 마지막 열 옆의 열에 따라 파일을 정렬하고 싶습니다.
파일 1
ㅏ삼2
비12
파일 2
2삼삼
비 42삼
파일 3
디 3 124
전자 4 112
나는 awk를 사용하고 있습니다 :
while read line
do
cat $line|awk '{print $(NF-1)"\t"$0}'|\
sort -n -r|awk '$1=" " {print $0}' > $line.sorted.txt
done < listfile.txt
더 좋은 방법이 있나요?(awk를 사용하면 n(열)이 큰 경우 문제가 좀 있습니다)
감사해요,
답변1
다음과 같이 시도해보십시오.
for i in f*; do
echo "=== $i" ;
N=$( echo $( head -1 $i | wc -w ) -1 | bc );
sort -nrk$N $i;
done