Это может включать вызов вашего скрипта в цикле или настройку вашего скрипта на цикл по аргументам командной строки.
for filename in file_*_123.txt; do
./Script.sh "$filename"
done
Это вызовет ваш скрипт один раз для каждого файла, соответствующего шаблону file_*_123.txt
.
Вы можете изменить сценарий и заключить его в цикл, например
#!/bin/sh
for filename do
# here you do whatever you need to do with "$filename"
done
или,
#!/bin/sh
for filename in "$@"; do
# here you do whatever you need to do with "$filename"
done
(эти два варианта цикла эквивалентны)
Это приведет к тому, что скрипт зациклится на своих аргументах командной строки. Затем вы запустите свой скрипт, как показано в вопросе:
./Script.sh file_*_123.txt
Если вы хотите выполнять эти сопоставленные файлы параллельно, вы можете использовать утилиту parallel
пример кода
funcXXXX(){
file_path="${1}"
/PATH/Script.sh "${file_path}"
}
# make function funcXXXX can be used by parallel
export -f funcXXXX
ls /PATH/file_*_123.txt | xargs -l | parallel -k -j 0 funcXXXX