У меня есть два разных файла:
File1
/home/user1/
/home/user2/bin
/home/user1/a/b/c
File2
<TEXT1>
<TEXT2>
Я хочу , чтобы заменить <TEXT1>из Файл2 с содержанием File1 использования sed. Я попробовал эту команду, но не получил правильный вывод:
cat File2|sed "s/<TEXT1>/$(cat File1|sed 's/\//\\\//g'|sed 's/$/\\n/g'|tr -d "\n")/g"
Вы можете использовать другие инструменты, чтобы решить эту проблему.
/home/user1/ n/home/user2/bin n/home/user1/a/b/cn <TEXT2> . Не получаю новых строк.
diffи patchинструменты позволяют довольно легко заменить некоторые строки в файле другими линиями.
$()помощью сценария Sed, заставляет мои глаза кровоточить. Никогда не используйте внешние данные в местах, где некоторые символы интерпретируются с особым значением.
sedреализацию вы используете. You код работает для меня с GNUsed.