我有一些 Grep 查找/替换命令在 TextWrangler 下运行良好,如下所示:
查找:(\“\ d +。\ d {3})+(\ d {3} + [\ s] +)
替换:\ 1s
例如,此查找/替换将替换:
TXTXTXT“123.123456 TXTXTXT 通过 TXTXTXT“123.123sTXTXTXT
现在我想通过使用egrep在命令行中执行相同的操作,但它不起作用:
egrep -e 's/(\"\d+\.\d{3})+(\d{3}+[\s]+)/\1s' -f m.txt > n.txt
egrep:正则表达式太大
有什么想法吗? 提前谢谢。
答案 0 :(得分:0)
您当前的问题是-f选项从文件中读取正则表达式。摆脱它。当你在它的时候失去了-e。只需使用:
egrep [regexp] [file] > [another file]
然而,这会给你带来另一个问题:grep只是打印匹配,它不会做替换。你可能应该使用sed。