例子:输入文件如下
signal {
XX, yy,
Zz
XX ck" {
P { 10ps
25ps
100ps }
}
yy ck" {
P { 10ps
25ps
100ps }
}
Zz ck" {
P { 10ps
25ps
100ps }
}
"XX"+, "yy"+, "zz"
}
我需要的输出是,
signal {
XX, yy,
Zz
"XX"+, "yy"+, "zz"
}
上面的例子是一个文件中的部分行,我应该使用 sed 命令在 tcl 中删除直到 6 行有花括号的模式。
在命令下面使用,
exec/bin/sed -e {xx ck"{/, +6d} -i 文件
它不起作用,它也删除了其他行 应该删除下面的东西,
Zz ck" {
P { 10ps
25ps
100ps }
}
XX ck" {
P { 10ps
25ps
100ps }
}
yy ck" {
P { 10ps
25ps
100ps}
}
你能帮帮我吗?
最佳答案
当我使用双引号 ("..."
) 来转义 sed 表达式而不是使用花括号 ({...}} 时,我得到了想要的结果
):
exec /bin/sed -e "/.. ck\" \{/,+4d" -i file
请注意,我还更改了表达式以仅删除 4 行。
关于linux - 如何在 Tcl 中使用 sed 搜索带有大括号的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48898741/