У меня есть часть кода bash, которая пересекает имена файлов, которые находятся в строке, разделенной пробелами. Затем выполняется функция против каждого имени файла. Это выглядит так:Разделение строки по пространству на трубу в параллель в bash
TCURR=0
for F in $FILES; do
TCURR=$[TCURR + 1]
do_something $TCURR $F &
done
wait
Как это сделать с помощью gnu parallel? Я не могу понять, как передать переменную $ FILES в нее, чтобы она работала.
Вот что я пробовал, ни одна из которых не работает. Я основывал их на странице параллельных примеров. Я просто отправляю 1 вместо TCURR в качестве первой переменной для функции для простоты, хотя я хотел бы знать, как это сделать.
$FILES | parallel "do_something 1 {}"
echo $FILES | parallel "do_something 1 {}"
Удивительные не знаете, что вы можете использовать {#} в качестве счетчика. – Tim