Как добавить новую строку между выводом `ls -l`

Запрос pull -, реализующий функцию , в настоящее время находится на рассмотрении.

В то же время, если вы управляете запуском скрипта с помощью этого устройства, вы можете использовать модуль python -systemd для отправки сообщений из вашего скрипта в журнал с приоритетом и параметрами, которые вы можете пожелать.

13
30.11.2019, 19:03
4 ответа

Использованиеawk:

ls -l | awk '{printf "%s\n\n", $0}'
5
27.01.2020, 19:52
ls -l | sed G

(это распространенная идиома и в sedFAQ).

Или (скорее всего быстрее, вероятно, не имеет значения для (вероятно короткого )выводаls -l):

ls -l | paste -d '\n' - /dev/null

Они вставляют пустую строку после каждой строки вывода ls -l.

Теперь, если вам нужна пустая строка после каждого файла, описанного в ls -l, что будет отличаться, если есть файлы, имя которых содержит символы новой строки, вам нужно будет сделать что-то вроде:

for f in *; do ls -ld -- "$f" && echo; done

(, что также пропустит строку total).

Или вы можете использовать ls -ql, чтобы убедиться, что вы получаете одну строку в файле (символы новой строки, как и все управляющие символы, будут отображаться как?(по крайней мере в локали POSIX )).

20
27.01.2020, 19:52
NAME
       pr - convert text files for printing

Чередование с одной пустой строкой, без добавления заголовка:

… | pr -dt

4
27.01.2020, 19:52

Еще один:

ls (options) | while read LINE; do
  echo "$LINE
"
done
2
27.01.2020, 19:52

Теги

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