在sed模式中指定" - "

sj7*_*755 0 regex unix linux sed stream

我想在一行中找到一个' - '字符,但是这个字符用于指定一个范围.我可以得到一个包含' - '字符的sed模式示例吗?

此外,如果我可以使用包含除空格和制表符之外的所有字符的模式,则会更快.

Kei*_*son 6

'-' 仅指定方括号之间的范围.

例如,这个:

sed -n '/-/p'
Run Code Online (Sandbox Code Playgroud)

打印包含'-'字符的所有行.如果您想要'-'在方括号之间表示自己,请将其放在方括号之后[或之前].这个:

sed -n '/[-x]/p'
Run Code Online (Sandbox Code Playgroud)

打印包含a '-'或a的所有行'x'.

这种模式: [^ <tab>]

匹配除空格和制表符以外的所有字符(请注意,您需要一个文字制表符,而不是" <tab>").