我正在编写脚本来搜索与某些模式匹配的行.我必须使用sed这个脚本.这适用于搜索和打印匹配的行:
sed -n /PATTERN/p
Run Code Online (Sandbox Code Playgroud)
但是,我还想在行前面打印匹配的行号.我怎么能用sed做到这一点?
Pau*_*ce. 17
你可以使用grep:
grep -n pattern file
Run Code Online (Sandbox Code Playgroud)
如果你使用=的sed行号将被打印在单独的行,而不是在操作模式可用空间.但是,您可以将输出通过管道传输到另一个sed实例,以合并行号和它应用的行.
sed -n '/pattern/{=;p}' file | sed '{N;s/\n/ /}'
Run Code Online (Sandbox Code Playgroud)
Pri*_*ley 12
= 用于打印行号.
sed -n /PATTERN/{=;p;}
Run Code Online (Sandbox Code Playgroud)