我有多個文件:
文件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
A32
乙12
文件2
a233
乙423
文件3
d 3 124
e 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