我有一个文件有一堆字符串,如下所示:

new Tab("Hello World")

我想把这些特殊的线条变成:
new Tab("helloWorld")

是否可以使用SED,如果可以,我如何才能完成此任务?我想我必须使用分组和区域,但我无法找出替换字符串。
这就是我目前所拥有的
sed -n 's/new Tab("\(.*\)"/new Tab("\1")'

最佳答案

这个解决方案并不完美:它假设该行只包含new Tab("some string blah blah blah")而该行上没有其他内容。这是我的*删除空间。sed:*

/new Tab/ {
    s/ *//g
    s/newTab/new Tab/
}

调用:
sed -f remove_space.sed data.txt

第一个替换盲目地删除所有空格,第二个替换在new和tab之间放回一个空格。
不必将其放入文件中,脚本也可以在命令行上运行:
sed '/new Tab/s/ *//g;s/newTab/new Tab/' data.txt

关于bash - SED脚本从区域中删除空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9607455/

10-14 07:43