Что это значит в моей программе? -exec ls -s {} [duplicate]

На этот вопрос уже есть ответ здесь:

-exec ls -s это часть моей программы, просто хочу знать, что означает -s {}. Это вся моя программа, я знаю, что она делает:

find $root -type f -exec ls -s {} \; | sort -n | tail -n 15 >> ~/prog.log
-3
задан 28 April 2015 в 14:06

2 ответа

-exec опция для find, который выполняет команду с помощью имен файлов, которые это нашло. Синтаксис -exec:

-exec command {} [;|+]

Эти {} заменяется под названием файлы (один файл на выполнение команды, если ; используется, несколько файлов, если + используется).

ls -s печать размер файла наряду с именем файла.

Это может быть сделано полностью в find, с помощью -printf опция:

find "$root" -type f -printf "%s %p\n" | ...
4
ответ дан 4 October 2019 в 07:56

Эта команда find s файлы в каталоге $root, тогда exec юты команда на каждом из них. Команда ls -s filename, и {} заполнитель в команде, которая заменяется каждым из названий файлов, найденных в $root.

1
ответ дан 4 October 2019 в 07:56

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

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