Saya punya input ini:
sdkxyosl 1
safkls 2
asdf--asdfasxy_asd 5
dkd8k jasd 29
sdi44sw 43
asasd afsdfs 10
rklyasd 4
Saya butuh hasil ini:
sdi44sw 43
dkd8k jasd 29
asasd afsdfs 10
asdf--asdfasxy_asd 5
rklyasd 4
safkls 2
sdkxyosl 1
Jadi saya perlu mengurutkan garis dengan kolom terakhir.
Saya tidak tahu berapa banyak kolom dalam satu baris.
Aku hanya tidak tahu, bagaimana melakukannya. Saya tidak memiliki "kekuatan perl". Saya hanya punya ~ rata kekuatan scripting dengan sed, awk, cut, dll.
Apakah ada yang tahu cara melakukannya?
text-processing
sort
LanceBaynes
sumber
sumber
sort -k
. Thebegfield
fungsi dalam GNU semacam hanya menghitung mundur ke nol. Pendekatan menghias-sort-undecorate (DSU) Anda tampaknya menjadi cara terbaik yang saya pikirkan.$NF,$RS
dan tidak$NF,$0
? Saya tidak tahu$RS
melakukannya. (Saya kira itu setara dengan$NF,$"\n"
, yang melakukan hal yang sama, tetapi saya kira juga mengejutkan.)$
dapat diikuti oleh ekspresi apa pun. " Efek dari ekspresi nomor bidang mengevaluasi apa pun selain bilangan bulat non-negatif tidak ditentukan ". GNU awk (pada sistem saya) memperlakukan string seperti"\n"
nol. Lainnya (mis. Implementasi asli oleh A, W dan K) dibatalkan dengan pesan kesalahan. JikaRS
kebetulan digit, Anda akan mendapatkan bidang yang sesuai pada implementasi apa pun. Jadi jangan lakukan ini, gunakan$0
.