Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Awk 在<;之前使用sed/grep添加/插入代码/脚本>;标签_Awk_Sed - Fatal编程技术网

Awk 在<;之前使用sed/grep添加/插入代码/脚本>;标签

Awk 在<;之前使用sed/grep添加/插入代码/脚本>;标签,awk,sed,Awk,Sed,如何使用sed在标记之前插入命令 例如: 现在看起来像 </script> 之后,我希望它看起来像: var result = runFuntion(); alert(result) </script> var result=runFuntion(); 警报(结果) 我试图使用echo'xyzfoo'| sed's/\(foo\)/bar\1/g' 但是标记会产生问题。使用GNU时: echo '</script>' | sed 's|</sc

如何使用sed在
标记之前插入命令

例如: 现在看起来像

</script>

之后,我希望它看起来像:

var result = runFuntion();
alert(result)
</script>
var result=runFuntion();
警报(结果)
我试图使用
echo'xyzfoo'| sed's/\(foo\)/bar\1/g'

但是
标记会产生问题。

使用GNU时:

echo '</script>' | sed 's|</script>|var result = runFuntion();\nalert(result)\n</script>|'
echo'| sed的| | var result=runfunition()\纳勒特(结果)\n |'

echo'| sed的| \(\)\124; var result=runfunition()\nalert(结果)\n\1 |'
输出:

var result = runFuntion();
alert(result)
</script>
var result=runFuntion();
警报(结果)


我从
s//
切换到
s | | |

如果您准备了一段较长的代码,并且不想直接在sed表达式中重新格式化/转义它,您也可以从文件中导入它。假设
之前的行中没有空格,并且您有一个文件
扩展名.js
包含:

var result = runFuntion();
alert(result);
然后您可以使用这个(GNU-sed):

echo'| sed'/^\s*/e cat extension.js'
或更短:
sed的| | var result=runFuntion()\nalert(result)\n&|'
:)
sed的|| var result=runfunition()\nalert(结果)\n&|'
var result = runFuntion();
alert(result);
echo '</script>' | sed '/^\s*<\/script>/ e cat extension.js'