我有一个文件有一堆字符串,如下所示:
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/