zcat может назначаться как переменная в bash - PullRequest
0 голосов
/ 28 сентября 2018

Я хочу разархивировать несколько файлов и объединить их как одну переменную в bash.

Например: есть несколько текстовых файлов.

one=text1.gz
two=text2.gz
three=text3.gz

Я хотел бы объединить их, чтобы они стали переменной

variable=(zcat $one $two $three)

Итак

$variable=($one)+($two)+($three)

Как мне этого добиться?

1 Ответ

0 голосов
/ 28 сентября 2018

Ваш синтаксис bash неверен.

Чтобы присвоить переменной результат команды, вам нужно использовать $(...):

variable=$(zcat "$one" "$two" "$three")

В зависимости от того, что вы хотите сделать с содержимым этих файлов, это может нелучший путь вперед.

Возможно, вы захотите объединить файлы в другой, используя перенаправление:

zcat "$one" "$two" "$three" > combined_file

, затем работать с combine_file.

Или напрямую обработатьдалее введите команду |:

zcat "$one" "$two" "$three" | my_command

, где my_command может быть sed, awk и т. д. *

...