我有一个在 Win 上使用 cygwin grep 的 grep 表达式。
grep -a "\\,,/\|\\m/\|\\m/\\>\.</\\m/\|:u" all_fbs.txt > rockon_fbs.txt
但是,一旦我确定了表情符号类,我想将它们从数据中剔除。但是,sed 中的上述相同正则表达式会导致语法错误(是的,我意识到我可以使用 /d 而不是 //g,但这并没有什么区别,我仍然得到错误。)
sed "s/\(\\,,/\|\\m/\|\\m/\\>\.</\\m/\|:u\)*//g"
完整的行是:
grep -a "\\,,/\|\\m/\|\\m/\\>\.</\\m/\|:u" all_fbs.txt | sed "s/\(\\,,/\|\\m/\|\\m/\\>\.</\\m/\|:u\)*//g" | sed "s/^/ROCKON\t/" > rockon_fbs.txt
结果是:
sed: -e expression #1, char 14: unknown option to `s'
我知道它来自我正在询问的 sed 正则表达式 b/c 如果我删除了整行的那部分,那么我不会收到任何错误(但是,当然,表情符号不会被过滤掉)。
提前致谢,
史蒂夫