Похожие вопросы

Wget loop bash с нумерацией загрузок?
Запуск скриптов bash из скрипта bash в другой папке
Найти имена файлов с расширением в верхнем регистре
Нажатие моей подсказки PS1 по ssh
Как использовать "progress-bar.sh" для отображения хода выполнения операций, выполняемых на удаленных серверах
Bash-скрипт для резервного копирования и восстановления структуры каталогов
Как мне остановить Git Bash, запрашивающего больше ввода?
Как запустить команду " cat " в фоновом режиме внутри скрипта
команда cat выводит весь каталог при использовании в скрипте bash
BASH: асинхронное выполнение команд с задержкой
Как распечатать команду bash history и добавить ее в файл?
Как grep длинную строку через несколько строк, не зная, где находится новая строка
Запуск tcpdump на удаленной машине без tty с помощью ssh
iTerm2: получить номер вкладки из оболочки bash
Подсистема Windows для Linux без магазина Windows [дубликат]

Как объединить строку, содержимое файла и строку в сценарии bash?

у меня есть файл, который содержит только одну строку

$> cat file.txt
apple,orange,cat,dog

мне нужно добавить к нему две строки и присвоить ей переменную, одну спереди, а другую в конце, чтобы она стала:

var=key,apple,orange,cat,dog,ending

Так что я могу использовать $var где-нибудь еще...

могу ли я узнать, как я могу это сделать в сценарии bash? Или любая команда linux может это сделать? Благодаря.

5
задан FGH
источник

2 ответов

одним из способов было бы так:

var="key,$(<file.txt),ending"
4
отвечен garyjohn 2013-10-25 22:43:39
источник

одно из возможных решений-это:

var=$(echo -n 'key,' && cat file.txt | tr '\n' ',' && echo 'ending')
  • $(...) возвращает строку вывода команды ...
  • echo -n выводит следующую строку без конечной новой строки
  • cat выводит содержимое файла и tr '\n' ',' заменяет конечную новую строку запятой
  • echo выводит следующую строку с новой строкой (что не очень важно)
0
отвечен Tim 2013-10-25 21:16:39
источник

Другие вопросы bash concatenation linux string