Мне нужно исключить несколько каталогов из результата поиска. Я знаю, как сделать это путем жесткого кодирования в команде find
, но можно ли сохранить список исключенных dir в виде переменной или массива, а затем использовать их в команде find?
Вот моя рабочая команда: В этой команде я touching
файл с именем dumped
внутри всех каталогов в текущих каталогах с maxdepth 1
, за исключением .
, ./tmp
, ./garbage
каталогов.
find . -maxdepth 1 ! -path "." ! -path "./tmp" ! -path "./garbage" -type d -exec touch {}/dumped 2>/dev/null \;
Если вы заметили, что я ввел жесткое кодирование в команде find
для исключаемых каталогов.
Есть ли способ сохранить список в переменной и передать в команду find
?
что-то вроде exclude_list=".|./tmp|./garbage"
и потом его использовать?
Я попробовал следующее, но это не сработало:
find . -maxdepth 1 ! -path ${exclude_list}