Как найти папку на основе численного порядка [на bash cli]

Это случилось снова, я нажал (alt+ctrl+f2) случайно, и сессия вернулась !!!

3
задан 5 April 2018 в 16:09

9 ответов

Поскольку мы не знаем, как вы их заказываете, я просто предполагаю, что это в алфавитном порядке, и в этом случае выполните в терминале следующее:

cd /enter/dir/here
ls | sort | head -n 230 | tail -n 1

Это отсортирует ls в алфавитном порядке, получите только первые 230 результатов, а затем возьмите последний из этих 230.

1
ответ дан 22 May 2018 в 11:35
  • 1
    Большое спасибо! Это намного проще, чем я думал – Mark Yoon 5 April 2018 в 16:13
  • 2
    Если вы хотите узнать все номера, которые вы можете сделать ls | sort | nl – muclux 5 April 2018 в 16:15
  • 3
    sed -n '230p' будет немного легче, чем head -n 230 | tail -n 1 – RoVo 5 April 2018 в 17:45

Поскольку мы не знаем, как вы их заказываете, я просто предполагаю, что это в алфавитном порядке, и в этом случае выполните в терминале следующее:

cd /enter/dir/here ls | sort | head -n 230 | tail -n 1

Это отсортирует ls в алфавитном порядке, получите только первые 230 результатов, а затем возьмите последний из этих 230.

1
ответ дан 17 July 2018 в 17:26

Поскольку мы не знаем, как вы их заказываете, я просто предполагаю, что это в алфавитном порядке, и в этом случае выполните в терминале следующее:

cd /enter/dir/here ls | sort | head -n 230 | tail -n 1

Это отсортирует ls в алфавитном порядке, получите только первые 230 результатов, а затем возьмите последний из этих 230.

1
ответ дан 23 July 2018 в 18:15

Предположительно, вы используете ubuntu, поэтому nautilus - это ваш браузер файлов. Если это так, нажмите CTRL + F и введите имя папки. Но, как вы сказали, папка явно не указана в цифрах, но вы можете изменить ее в правом верхнем углу, чтобы отобразить папку по деталям, а затем значки, а затем изменить по дате.

0
ответ дан 22 May 2018 в 11:35

Я обычно использую bash, однако это одна из тех задач, для которых вы можете рассмотреть возможность переключения на zsh, чтобы вы могли использовать свои квалификаторы glob

print dir/*(/on[230])

Объяснение: [ ! d2] /: сопоставить каталоги on: сортировать по возрастанию по имени (для убывания используйте верхний регистр O) [230]: ограничить результаты до заданного диапазона

Определитель диапазона в общем случае имеет форму [m,n] - вы также можете использовать [230,230] в этом контексте.

Если вам нужно сделать это в , тогда требуются внешние инструменты: вот метод, который должен быть безопасным для любых имен файлов (даже с встроенными символами новой строки):

printf '%s\0' dir/*/ | sort -z | awk -vRS='\0' 'NR==230 {print; exit}'
0
ответ дан 22 May 2018 в 11:35

Предположительно, вы используете ubuntu, поэтому nautilus - это ваш браузер файлов. Если это так, нажмите CTRL + F и введите имя папки. Но, как вы сказали, папка явно не указана в цифрах, но вы можете изменить ее в правом верхнем углу, чтобы отобразить папку по деталям, а затем значки, а затем изменить по дате.

0
ответ дан 17 July 2018 в 17:26

Я обычно использую bash, однако это одна из тех задач, для которых вы можете рассмотреть возможность переключения на zsh, чтобы вы могли использовать свои квалификаторы glob

print dir/*(/on[230])

Объяснение: [ ! d2] /: сопоставить каталоги on: сортировать по возрастанию по имени (для убывания используйте верхний регистр O) [230]: ограничить результаты до заданного диапазона

Определитель диапазона в общем случае имеет форму [m,n] - вы также можете использовать [230,230] в этом контексте.

Если вам нужно сделать это в bash, тогда требуются внешние инструменты: вот метод, который должен быть безопасным для любых имен файлов (даже с встроенными символами новой строки):

printf '%s\0' dir/*/ | sort -z | awk -vRS='\0' 'NR==230 {print; exit}'
0
ответ дан 17 July 2018 в 17:26

Предположительно, вы используете ubuntu, поэтому nautilus - это ваш браузер файлов. Если это так, нажмите CTRL + F и введите имя папки. Но, как вы сказали, папка явно не указана в цифрах, но вы можете изменить ее в правом верхнем углу, чтобы отобразить папку по деталям, а затем значки, а затем изменить по дате.

0
ответ дан 23 July 2018 в 18:15

Я обычно использую bash, однако это одна из тех задач, для которых вы можете рассмотреть возможность переключения на zsh, чтобы вы могли использовать свои квалификаторы glob

print dir/*(/on[230])

Объяснение: [ ! d2] /: сопоставить каталоги on: сортировать по возрастанию по имени (для убывания используйте верхний регистр O) [230]: ограничить результаты до заданного диапазона

Определитель диапазона в общем случае имеет форму [m,n] - вы также можете использовать [230,230] в этом контексте.

Если вам нужно сделать это в bash, тогда требуются внешние инструменты: вот метод, который должен быть безопасным для любых имен файлов (даже с встроенными символами новой строки):

printf '%s\0' dir/*/ | sort -z | awk -vRS='\0' 'NR==230 {print; exit}'
0
ответ дан 23 July 2018 в 18:15

Другие вопросы по тегам:

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