У меня есть этот вход:
sdkxyosl 1
safkls 2
asdf--asdfasxy_asd 5
dkd8k jasd 29
sdi44sw 43
asasd afsdfs 10
rklyasd 4
Мне нужен этот вывод:
sdi44sw 43
dkd8k jasd 29
asasd afsdfs 10
asdf--asdfasxy_asd 5
rklyasd 4
safkls 2
sdkxyosl 1
Поэтому мне нужно отсортировать строки по последнему столбцу.
Я не знаю, сколько столбцов в одной строке.
Я просто не могу понять, как это сделать. У меня нет "способностей perl". Я просто имею средние полномочия по написанию сценариев с помощью sed, awk, cut и т.д ..
Кто-нибудь знает, как это сделать?
text-processing
sort
LanceBaynes
источник
источник
sort -k
.begfield
Функция в GNU рода просто отсчитывает до нуля. Я думаю, что ваш подход декорации-сортировки-декорации (DSU) кажется лучшим.$NF,$RS
и нет$NF,$0
? Я не знал,$RS
сделал это. (Полагаю, это эквивалентно тому$NF,$"\n"
, что делает то же самое, но я думаю, что это тоже удивительно.)$
может следовать любое выражение. « Эффект выражения числа поля, оценивающего что-либо кроме неотрицательного целого числа, не определен ». GNU awk (в моей системе) рассматривает строку"\n"
как ноль. Другие (например, исходная реализация A, W и K) прерывают с сообщением об ошибке. ЕслиRS
это будет цифра, вы получите соответствующее поле в любой реализации. Так что не делай этого, пользуйся$0
.