这是我的档案
$ cat testjson2
[alot of text]
我想以下结尾:( { "aaData":
附加在文件末尾附加的文件}
的开头)
{ "aaData": [alot of text] }
到目前为止我得到了什么:
这会在文件开头附加
$ sed '1s/./{ "aaData": &/' testjson2
{ "aaData": [alot of text] }
这会在文件末尾附加
$ echo } >> testjson2
$ cat testjson2
[alot of text]
}
如何组合它们?也许只是使用sed或我应该只使用这个组合来得到我想要的东西? 只是看看在这里使用sed awk或bash。
答案 0 :(得分:2)
尝试:
$ sed '1s/^/{ "aaData": /; $ s/$/ }/' testjson2
{ "aaData": [alot of text] }
这使用两个替代命令:
1 s/^/{ "aaData": /
将文字添加到第一行的开头。
1
次匹配。^
匹配行的开头。
$ s/$/ }/
在最后一行结束后添加文字。
第一个$
匹配文件的最后一行。第二个$
匹配在该行的末尾。
答案 1 :(得分:2)
$ awk '{printf "%s%s", (NR>1 ? ORS : "{ \"aaData\": "), $0} END{print " }"}' file
{ "aaData": [alot of text] }