Используйте sed со специальным символом
Я пытаюсь использовать sed со специальным символом:
sed -i -e "1i$jtempo" $file
$ file - это мой файл. $jtempo - это моя переменная со специальным символом вроде: "или [или (
Но когда я запускаю этот скрипт, у меня появляется эта ошибка:
sed: -e expression #1, char 17: unknown command: `"'
Мой файл:
"desc_test":[
"id",
"name",
],
В моем сценарии bash:
jtempo=`cat myfile`
Идея? Спасибо вам!
1 ответ
$ cat f1
"desc_test":[
"id",
"name",
],
$ cat ip.txt
1
2
3
Я бы предложил избежать i
командование и использование r
команда, которая будет устойчивой независимо от содержимого файла
$ # to insert before first line
$ cat f1 ip.txt
"desc_test":[
"id",
"name",
],
1
2
3
$ # to insert any other line number, use line_num-1
$ # for example, to insert before 2nd line, use 1r
$ # r command will read entire contents from a file
$ sed '1r f1' ip.txt
1
"desc_test":[
"id",
"name",
],
2
3