Как создать системные переменные, инициализированные отдельной строкой ввода - PullRequest
0 голосов
/ 08 марта 2012

У меня есть список файлов, который задается, например, find . -name file.*

./file.a
./dir1/dir2/file.b
./dir1/dir3/file.c
./file.d
./file.e

...

Как автоматически создавать переменные как пары:

F1=./file.a
F2=./dir1/dir2/file.b
F3=./dir1/dir3/file.c
F4=./file.d
F5=./file.e

...

Я думаю, что некоторые умные комбинацииsed / awk / xargs выполнит эту работу.

Можете ли вы помочь мне с этим?

Ответы [ 3 ]

3 голосов
/ 08 марта 2012
$ F=(`find . -name 'file.*'`)
$ for((i=1;i<=${#F};i++)); do eval "F$i='${F[$i]}'"; done
1 голос
/ 08 марта 2012

Это может работать для вас:

find . -name 'file.*' | sed = | sed 'N;s/^\(.*\)\n/F\1=/' >/tmp/source
. /tmp/source
1 голос
/ 08 марта 2012

perl -e "@files = qx (найти. -Name файл. *);"

...