我想从文本文件1.txt
获取不包含字母a
,b
和c
的字词,并将其导出到2.txt
},但这不会返回任何内容:
grep -o [^abc]*$ 1.txt > 2.txt
如何获取不包含a
,b
和c
的字词?
答案 0 :(得分:1)
使用GNU grep,您可以使用
grep -w -o '[^abc]*' 1.txt > 2.txt
man
的相关内容是:
-w, --word-regexp
Select only those lines containing matches that form whole words...
-o, --only-matching
Print only the matched (non-empty) parts of a matching line...
答案 1 :(得分:1)
试试这个:
grep -w -o -P '[^abc\s]*' 1.txt > 2.txt
因此,“词”中间也不允许有空格。
我只包含-P标志,以便将正则表达式解释为Perl并允许\ s占位符。
-P, --perl-regexp
Interpret PATTERN as a Perl regular expression.