
Допустим, ls -t
возвращается:
1
2
3
4
5
6
Как пропустить первые 3 результата? Так что результат только:
4
5
6
Я знаю, что могу бежать ls -t | head -3
, но это займет всего лишь первые три строки, но мне нужно пропустить первые три строки.
1
2
3
решение1
Использовать tail
:
ls -tq | tail -n+4
Обратите внимание, что я добавил -q
опцию для ls
предотвращения проблем с переводами строк в именах файлов. Хотя это может быть значением по умолчанию для ls
вывода на терминал, это не значение по умолчанию при конвейеризации.
Также обратите внимание, что это нормально для визуального вывода, но не для скриптов, поскольку файлы с символами новой строки работать не будут, поскольку символы новой строки заменяются на ?
.
В общем, вам следуетизбегать разбораls
.