Дескриптор файла когда-либо НЕ открыт?

Теперь я начал писать утилиту-оболочку для решения моей собственной проблемы, которая называется cromer . Сейчас он работает в базовой форме. Любой вклад / пул-реквест / проблемы и т. Д. Приветствуются

-1
17.07.2018, 12:32
2 ответа

Это может включать вызов вашего скрипта в цикле или настройку вашего скрипта на цикл по аргументам командной строки.

Первый вариант:

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
5
28.01.2020, 05:08

Если вы хотите выполнять эти сопоставленные файлы параллельно, вы можете использовать утилиту 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
2
28.01.2020, 05:08

Теги

Похожие вопросы