Как добавить текст из исходного файла в целевой файл перед EOF в целевом файле

Данные, введенные пользователем one, two,three

Следующая команда заменит все экземпляры данного ${placeholder}вашим вводом:

sed -i 's/${placeholders}/one/g; s/${different}/two/g; s/${here}/three/g' yourTemplateFile

Если вы используете это в скрипте bash и вводите пользовательский ввод в переменных оболочки, это сделает все замены в одной команде.

0
02.04.2020, 09:25
2 ответа

Если символ }является единственным символом в последней строке и это единственная строка с единственным символом }, вы можете добавить Файл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
0
28.04.2021, 23:19

Попробуйте также -, учитывая, что ваша оболочка обеспечивает "подстановку процессов"-

tac file2 | sed 1r<(tac file1) | tac
0
28.04.2021, 23:19

Теги

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