jas*_*siu 9 sed text-processing
作为例子,我试图让其中包含了模式行号。我的模式包含斜杠,所以我想添加自定义分隔符。
这个简单的工作:
sed -n '/file/=' temp.txt
Run Code Online (Sandbox Code Playgroud)
使用分隔符进行字符串替换也有效:
sed 's|file|gile|' temp.txt
Run Code Online (Sandbox Code Playgroud)
但是当我想向第一个示例添加分隔符时,它不会:
sed -n '|file /etc|=' temp.txt
Run Code Online (Sandbox Code Playgroud)
我知道我可以转义斜杠,但我更愿意添加自定义分隔符。知道如何修复我的命令吗?
ter*_*don 12
Stéphane为您提供了sed解决方案:
sed -n '\|file /etc|=' file
Run Code Online (Sandbox Code Playgroud)
如果您愿意使用其他工具,您也可以这样做
grep -n 'file /etc' file
Run Code Online (Sandbox Code Playgroud)
这也将打印行本身,以单独获取行号尝试:
grep -n 'file /etc' file | cut -d: -f 1
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用perl:
perl -lne 'm|file /etc| && print $.' file
Run Code Online (Sandbox Code Playgroud)
或者awk:
awk '$0 ~ "file /etc" {print NR}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38366 次 |
| 最近记录: |