Когда действительно 'сортируют-k 2,3b', и 'вид-k 2,3 ' отличаются?

Эмулятор терминала Android Jack Palevich использует сочетания клавиш с кнопками громкости для отправки множества ключей, включая функциональные клавиши. Существует также Клавиатура Хакера, которая имеет каждый ключ, доступный, который имела бы реальная клавиатура.

3
26.10.2013, 10:00
2 ответа

Это имеет эффект, когда Вы добавляете реверс к сравнению. Порядок очередности изменяется как в -r только обратитесь к сравнению последнего средства.

Никакой реверс:

$ sort -k 1,2 sample
A  34
A 33

$ sort -k 1,2b sample
A  34
A 33

Реверс:

$ sort -rk 1,2 sample
A 33
A  34

$ sort -rk 1,2b sample
A  34
A 33
3
27.01.2020, 21:14
  • 1
    я все еще думаю о том, как он работает, но большое спасибо! –  ezequiel-garzon 24.10.2013, 19:37
  • 2
    я все еще не вижу объяснения позади него. Почему не делает sort -k 1,2b изменить результат в своем первом примере? –  ezequiel-garzon 24.10.2013, 22:52
  • 3
    @eze: При использовании b с -r, -r только обратитесь к сравнению последнего средства. –  Runium 25.10.2013, 11:28
  • 4
    @eze: sort -k 1,2b не имеет никакого эффекта. Поле 2 не лево-обрезается. –  Runium 25.10.2013, 11:35
  • 5
    @eze: изменение значения, не содержание. Хотя в данный момент я начинаю сомневаться относительно меня. Кроме того, если Вы используете вид GNU, проверяете - параметр отладки. Это может, возможно, помочь... забыл о том. –  Runium 25.10.2013, 12:38

В случае, если кто-либо еще любопытен на предмет этого... и, оказывается, находит этот вопрос, упоминание Sukminder о --debug флаг в виде GNU помог мне найти, что ответ царапает этот зуд. Предположим как по общему признанию изобретенный пример, что Вы хотите отсортировать этот грязно отформатированный файл:

x   FRA-Paris    Pierre
x ESP-Barcelona   Jordi
x     FRA-Nice  Charles
x    FRA-Toulouse Nicole
x   ESP-Seville  Javier
x    ESP-Madrid  Carlos

в это:

x    ESP-Madrid  Carlos
x   ESP-Seville  Javier
x ESP-Barcelona   Jordi
x     FRA-Nice  Charles
x    FRA-Toulouse Nicole
x   FRA-Paris    Pierre

Таким образом, только уделение внимания стране во втором поле и затем к имени человека, в третьем поле. Мы хотим рассмотреть первые три символа второго поля, и важно проигнорировать начальные пробелы при определении и первого символа и третьего символа.

Команда sort -k 2b,2.3b -k 3b работал бы, но sort -k 2b,2.3 -k 3b не был бы. Нужно сказать, что в этом случае самый естественный путь состоял бы в том, чтобы применить глобальное -b опция, просто как sort -bk 2,2.3 -k 3.

3
27.01.2020, 21:14
  • 1
    Большой. И хороший пример. На стороне: Вы, вероятно, знает, но вид GNU также имеет конюшню -s опция, которая может быть очень полезной. –  Runium 28.10.2013, 12:31
  • 2
    , который я не знал об этом, пока я не изучил --debug опция. Большое спасибо за возвращение! Я не хочу, чтобы этот сайт выпустил меня другое предупреждение, что я не должен болтать в комментариях! Большое спасибо, Sukminder! –  ezequiel-garzon 28.10.2013, 23:18

Теги

Похожие вопросы