Хорошо, обо всем по порядку. Ошибка, которую вы получаете, не имеет значения, она просто означает, что определенный подкаталог (/home/ivana/.cache/dconf
) вашего $HOME
вам не принадлежит. Это почти наверняка произошло из-за того, что вы запустили графическое приложение с sudo
. Вот простое исправление:
sudo chown -R ivana /home/ivana/
Это изменит владельца всех файлов и каталогов в вашем $HOME
на ваше собственное имя пользователя. Если у вас могут быть вещи, которые правильно принадлежат другому пользователю, тогда просто измените владельца каталога dconf
:
sudo chown -R ivana /home/ivana/.cache/dconf
Теперь, как сказано, способ сделать это правильно и работать с произвольными именами файлов
find "$1" -cmin -10 -type f -print0 | head -z -n 10
Это заставит find
печатать каждый найденный файл с конечным \0
вместо новой строки, что гарантирует, что он будет работать с файлами, имена которых содержат символы новой строки. Параметр -z
команды head
позволяет читать ввод с разделителями \0
.
Следующим шагом является чтение каждого из файлов и печать количества строк, которые они имеют:
find "$1" -cmin -10 -type f -print0 | head -z -n 10 |
while IFS= read -r -d '' file; do wc -l "$file"; done
IFS=
устанавливает разделитель полей ввода пустым, -r
заставляет read
не обрабатывать \
специально (поэтому \t
не становится вкладкой), а -d ''
сообщает read
для чтения данных с разделителями \0
.