扩展一个 glob 字符串并将结果参数传递给 GNU parallel
expand a glob string and pass resulting arguments to GNU parallel
在 bash 脚本中,我有一个带有 glob 字符的字符串,它会扩展为我需要在 bash 中并行处理的多个脚本 paths/names。
如何将生成的脚本名称传递给并行执行?
我尝试了以下方法,其中 $string="./script*.sh"
(echo $string) | parallel
($string) | parallel
没有成功。
我什至试图将它读入一个数组然后构造一串回声但这没有帮助
read -a scripts <<< "$string"
(${script[*]) | parallel
试试这个:
string=./script*.sh
# expand * here
echo $string | tr " " "\n" | parallel
或者试试这个:
parallel ::: ./script*.sh
或
ls | grep script | parallel
(echo $string) | parallel eval
在 bash 脚本中,我有一个带有 glob 字符的字符串,它会扩展为我需要在 bash 中并行处理的多个脚本 paths/names。
如何将生成的脚本名称传递给并行执行?
我尝试了以下方法,其中 $string="./script*.sh"
(echo $string) | parallel
($string) | parallel
没有成功。
我什至试图将它读入一个数组然后构造一串回声但这没有帮助
read -a scripts <<< "$string"
(${script[*]) | parallel
试试这个:
string=./script*.sh
# expand * here
echo $string | tr " " "\n" | parallel
或者试试这个:
parallel ::: ./script*.sh
或
ls | grep script | parallel
(echo $string) | parallel eval