Данные, введенные пользователем one
, two
,three
Следующая команда заменит все экземпляры данного ${placeholder}
вашим вводом:
sed -i 's/${placeholders}/one/g; s/${different}/two/g; s/${here}/three/g' yourTemplateFile
Если вы используете это в скрипте bash и вводите пользовательский ввод в переменных оболочки, это сделает все замены в одной команде.
Если символ }
является единственным символом в последней строке и это единственная строка с единственным символом }
, вы можете добавить Файл1 к Файлу2, а затем переместить }
в последнюю строку.
С точки зрения кода это будет выглядеть так:
# append file1 to file2
cat File1 >> File2
# move the curly brace to the end of the file (change in place (-i flag))
# /^}$/ search for a line which starts with a } and ends afterwards
# d delete the line
# ; next command
# $a append at the last line
# } curly brace character
sed -i '/^}$/d;$a}' File2
Попробуйте также -, учитывая, что ваша оболочка обеспечивает "подстановку процессов"-
tac file2 | sed 1r<(tac file1) | tac