不是100%关于如何解决这个问题。
基本上我的应用程序会创建两个文件输出。
file
file.ext
在搜索目录时,它总是返回两个文件。我希望只与
合作file
如何才能为文件执行grep?或者是grep甚至是正确的命令?
!grep *.ext
伪代码^
答案 0 :(得分:1)
为什么不呢:
grep foobar file
或者如果您想搜索目录
find . -name 'file' | xargs -r grep boofar
答案 1 :(得分:0)
您可以尝试使用grep'file $',即选择以file结尾的行,之后没有任何内容。或者,您可以使用grep -v来反转结果。
# (echo "file"; echo "file.txt") | grep file$
file
# (echo "file"; echo "file.txt") | grep -v .ext
file
答案 2 :(得分:0)
我不知道你试图用grep做什么,但是如果你想检查一个文件是否存在,你只需要这样做:
if [ -r /some/path/file ]; then
echo "File is readable."
fi
答案 3 :(得分:0)
Grep有-v
标志反转含义(查找不包含模式的行):
ls /your/directory | grep -v '\.ext$'
这将排除以.ext
结尾的每个文件名。
答案 4 :(得分:0)
尝试
grep -v option
-v做反向匹配
详细信息请$ man grep
答案 5 :(得分:0)
要生成与模式不匹配的所有文件的列表,请在find中使用-not
。所以你想要:
find . -not -name '*.ext'