run ls but skip first 3 files

Let's say ls -t returns:

1
2
3
4
5
6

How can I skip the first 3 results? So the result is only:

4
5
6

I am aware I can run ls -t | head -3 but that will simply take the first 3 lines, but I need to skip the first 3 lines.

1
2
3
2
задан 11 August 2020 в 16:59

1 ответ

Используйте tail :

ls -tq | tail -n+4

Обратите внимание, что я добавил параметр -q в ls , чтобы предотвратить проблемы с символами новой строки в имена файлов. Хотя это может быть значением по умолчанию для вывода ls на терминал, оно не используется по умолчанию при передаче по конвейеру.

Также обратите внимание, что это нормально для визуального вывода, но не для сценариев, поскольку файлы с символами новой строки выиграли ' t работает, потому что символы новой строки заменяются на ? .

Как правило, вы должны избегать синтаксического анализа ls .

3
ответ дан 11 August 2020 в 20:02

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

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