Предполагая, что -exec
соответствует тому, что вы собираетесь делать.
(Параметр - exec
выполняет файл, а не читает его)
Простое решение для печати имен файлов, соответствующих параметрам поиска:
find foldername -size +1k -name \*.txt -print
Если вам нужно присвоить имена переменной, вам нужно больше. {{1} } Чтобы иметь возможность работать с пробелами в именах файлов, которые являются результатом команды find
, обычно используется опция -print0
:
find foldername -size +1k -name \*.txt -print0
Однако, чтобы иметь возможность читать приводит к переменной bash, непросто.
В этой замечательной вики-странице Грега есть подробное объяснение
#!/bin/bash
unset a
while IFS= read -r -d $'\0' file; do
a+=( "$file" ) # or however you want to process each file
done < <(find foldername -size +1k -name \*.txt -print0)
printf 'filename=%s\n' "${a[@]}"
Alt + F2gnome-terminal
откроет новое окно терминала. Оттуда выполните startx
, чтобы перезапустить графический интерфейс.