Byr*_*ins 2 bash whitespace grep sed
这个bash脚本应该从grep结果中删除前导空格:
#!/bin/bash
grep --color=always $@ | sed -r -e's/:[[:space:]]*/:/'
Run Code Online (Sandbox Code Playgroud)
但它与空白不匹配.如果我将替换文本更改为" - ",它会显示在输出中,但它仍然不会删除空格.我试过没有"*",逃避"*","+"等,但没有任何作用.有谁知道为什么不呢?
(我在Ubuntu 12.04上使用sed版本4.2.1.)
谢谢大家,这是我修改过的脚本,它显示了grep颜色并修剪了前导空白:
#!/bin/bash
grep --color=always $@ | sed -r -e's/[[:space:]]+//'
Run Code Online (Sandbox Code Playgroud)
你需要删除--color选项才能生效.颜色代码混淆了sed:
grep $@ | sed -r -e's/:[[:space:]]*/:/'
Run Code Online (Sandbox Code Playgroud)