我有一个ignore.txt文件:
cat ignore.txt
clint
当我这样做时:
pip freeze | grep -v -f ignore.txt
我明白了:
GitPython==0.3.2.RC1
Markdown==2.2.1
async==0.6.1
clint==0.3.1
gitdb==0.5.4
legit==0.1.1
push-to-wordpress==0.1
python-wordpress-xmlrpc==2.2
smmap==0.8.2
但是当我这样做时:
pip freeze | grep -v clint
我确实得到了正确的输出:
GitPython==0.3.2.RC1
Markdown==2.2.1
async==0.6.1
gitdb==0.5.4
legit==0.1.1
push-to-wordpress==0.1
python-wordpress-xmlrpc==2.2
smmap==0.8.2
如何使用grep和命令行工具实现这一目标?
Clarfication Edit:我使用带有cygwin的windows,所以我相信这是GNU grep 2.6.3(来自grep --version)
答案 0 :(得分:1)
您的语法看起来正确并适用于我的系统。
您的ignore.txt
文件可能存在问题。
特别要检查:
关于后者,Single Unix Specification说:
pattern_file 中的模式应由
<newline>
终止。
这意味着没有终结符或具有不同终结符(例如CR LF)的文件可能会出现意外行为(尽管这可能与系统有关)。