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