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
Используйте tail
:
ls -tq | tail -n+4
Обратите внимание, что я добавил параметр -q
в ls
, чтобы предотвратить проблемы с символами новой строки в имена файлов. Хотя это может быть значением по умолчанию для вывода ls
на терминал, оно не используется по умолчанию при передаче по конвейеру.
Также обратите внимание, что это нормально для визуального вывода, но не для сценариев, поскольку файлы с символами новой строки выиграли ' t работает, потому что символы новой строки заменяются на ?
.
Как правило, вы должны избегать синтаксического анализа ls
.