В настоящее время файл a.txt имеет:сценарий оболочки: вставить новую строку в файл, используя СЭД
#define ABC
Я хочу изменить a.txt на:
#define ABC
#define DEF
И я пытался
sed 's/#define ABC/#define ABC&\n#define DEF/g' a.txt > tmp/test.txt
mv tmp/test.txt > a.txt
, но это дает мне #define ABC#define ABCn#define EDF
вместо этого. Попробовал несколько решений онлайн, но он не работает. Что не так с моим решением? Благодаря!!!
Работа на Solaris 11
http://stackoverflow.com/a/16246806/632407 – jm666
@ jm666 Я не вижу, как это ответили на мой вопрос. Поверьте мне, когда я сказал, что уже пробовал много решений и не мог заставить его работать. Это было ближе всего к моему делу: http://stackoverflow.com/questions/682984/shell-adding-a-new-line-between-a-given-line-of-text, и это не помогло мне, возможно, потому что У меня есть или что-то, я не знаю. –
Почему бы не добавить строку? 'echo '#define DEF' >> a.txt' – potong