Mam ten wkład:
sdkxyosl 1
safkls 2
asdf--asdfasxy_asd 5
dkd8k jasd 29
sdi44sw 43
asasd afsdfs 10
rklyasd 4
Potrzebuję tego wyjścia:
sdi44sw 43
dkd8k jasd 29
asasd afsdfs 10
asdf--asdfasxy_asd 5
rklyasd 4
safkls 2
sdkxyosl 1
Więc muszę posortować wiersze według ostatniej kolumny.
Nie wiem, ile kolumn jest w jednym wierszu.
Po prostu nie mogę tego rozgryźć, jak to zrobić. Nie mam „mocy perla”. Po prostu mam ~ średnie moce skryptowe z sed, awk, cut itp.
Czy ktoś wie jak to zrobić?
text-processing
sort
LanceBaynes
źródło
źródło
sort -k
.begfield
Funkcja w GNU sort tylko odliczanie do zera. Wydaje mi się, że twoje podejście do dekorowania i sortowania i dekorowania (DSU) jest najlepszym sposobem.$NF,$RS
a nie$NF,$0
? Nie wiedziałem,$RS
że to zrobiłem. (Wydaje mi się, że jest to równoważne z tym$NF,$"\n"
, co robi to samo, ale myślę, że to również zaskakujące.)$
może występować dowolne wyrażenie. „ Wpływ wyrażenia numeru pola na wartość całkowitą inną niż nieujemna liczba całkowita jest nieokreślona ”. GNU awk (w moim systemie) traktuje ciąg znaków jak"\n"
zero. Inne (np. Oryginalna implementacja A, W i K) przerywają działanie z komunikatem o błędzie. Gdyby przypadkiemRS
była cyfra, dostaniesz odpowiednie pole dla dowolnej implementacji. Więc nie rób tego, użyj$0
.