BASH: объединение нескольких файлов с разными префиксами имен файлов в массиве - PullRequest
0 голосов
/ 28 августа 2009

После просмотра этого поста похоже, что я могу просто использовать cat для объединения файлов.

Однако я немного запутался в том, как это сделать с моим массивом префиксов имен файлов. Например:

prefixes=( pre1 pre2 pre3 pre4 pre5 )

Если у меня есть такой массив префиксов, как мне сделать команду, чтобы она выглядела так или сделать что-то подобное:

cat pre1.file pre2.file pre3.file pre4.file pre5.file > merged.file

Ответы [ 3 ]

3 голосов
/ 28 августа 2009

Вы можете использовать цикл для перебора имен файлов в массиве:

prefixes=( pre1 pre2 pre3 pre4 pre5 )
for p in "${prefixes[@]}"; do cat "$p.file"; done > merged.file
0 голосов
/ 28 августа 2009

Если все ваши префиксы следуют шаблону, то вы можете сделать это с помощью глобинга:

cat pre*.file > merged.file

или

cat pre?.file > merged.file

Кроме того, вы можете использовать расширение скобки для списка префиксов:

cat {pre1,pre2,pre3,pre4,pre5}.file > merged.file
0 голосов
/ 28 августа 2009
eval "cat {${prefixes[*]}}.file > merged.file"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...