Ваша задача довольно расплывчата.Это всегда хорошо размещать желаемые входы и выходы.В любом случае, здесь есть какой-то запуск для Вашей задачи, если я хорошо понял Вашу спецификацию:
#!/bin/env csh
set dir='./file/'
set types=('tcl' 'txt')
foreach type (${types})
#HERE replace with Your commands
#example find with regex
echo " ... searching for *.${type} in ${dir}${type}/"
find "${dir}${type}/" -type f -regex '.*\.'"${type}"'$' -print0 | xargs -0 printf "%s\n"
end
exit 0
Есть настройка dir
, где найти и массив Ваших types
.Цикл foreach проходит через dir / type и находит файлы с суффиксом типа, используя regexp.xargs
здесь необязателен, и я специально его разместил, чтобы показать, как правильно обрабатывать файлы.Вы можете заменить, например, на:
xargs -0 -I {} cp {} /home/newdestination/
Если вам нужно скопировать, например, в новое место назначения.
Тест:
% ./list_file.csh
... searching for *.tcl in ./file/tcl/
./file/tcl/a.tcl
./file/tcl/b.tcl
... searching for *.txt in ./file/txt/
./file/txt/a.txt
./file/txt/b.txt