我想要 sed 相当于这行 vim:
:s/","/",^M"/g
目标:获取包含大量 json 块的行,并将其分解为单独的行。
我想要使用的一个例子是 http://www.cartoonnetwork.com/video/teen-titans-go/episodes/index.html(查找函数 getFullEpisodes())。
我尝试过的:
519 sed -e 's/","/",\n"/g' < /tmp/url > /tmp/line-url
-- 不起作用,只需将“n”放在适当的位置即可。
521 sed -e 's/","/",\\n"/g' < /tmp/url > /tmp/line-url
-- 不起作用,在适当的位置放一个反斜杠,后跟 n。
我想将 vim 命令的完整“脚本”转换为 shell 脚本:
:s/","/",^M"/g
:1,$!grep seo
:g,^.*/vid,s,,http://www.cartoonnetwork.com/vid
:g/"},{.*/s///
:$s,"}];,,
:wn
答案1
看来您的版本sed
不理解\n
s/// 的 RHS。
您始终可以在bash
命令行上执行此操作:
sed -e 's/","/",\
"/g' < /tmp/url > /tmp/line-url
在csh
命令行上,您需要加倍反斜杠。请注意,尾部反斜杠后面不应跟除硬换行符之外的任何内容。