У меня есть два разных файла:
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
.