小编RAM*_*tle的帖子

如何使用sed在文件中的每一行之前插入一行,原始行的内容由字符串围绕?

我试图使用sed(GNU sed版本4.2.1)在文件中的每一行之前插入一行,该行的内容由字符串围绕.

输入:

truncate table ALPHA;
truncate table BETA;
delete from TABLE_CHARLIE where ID=1;
Run Code Online (Sandbox Code Playgroud)

预期结果:

SELECT 'truncate table ALPHA;' from dual;
truncate table ALPHA;
SELECT 'truncate table BETA;' from dual;
truncate table BETA;
SELECT 'delete from TABLE_CHARLIE where ID=1;' from dual;
delete from TABLE_CHARLIE where ID=1;
Run Code Online (Sandbox Code Playgroud)

我试图使用&符号(&)特殊字符,但这似乎不起作用.如果我在替换字符串上放了&符之后的任何内容,则输出不正确.

尝试1:

sed -e "s/\(.*\)/SELECT '&\n&/g" input.txt

output:
SELECT 'truncate table ALPHA;
truncate table ALPHA;
SELECT 'truncate table BETA;
truncate table BETA;
SELECT 'delete from TABLE_CHARLIE where ID=1;
delete from TABLE_CHARLIE where ID=1;
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,我得到了 …

bash sed

5
推荐指数
1
解决办法
484
查看次数

标签 统计

bash ×1

sed ×1