不是100%如何去做這件事。greping的價值!= *。文件擴展名爲
基本上我的應用程序創建兩個文件輸出。
file
file.ext
當通過目錄搜索它總是返回兩個文件。我只希望與
file
我該如何爲文件做一個grep?或者grep甚至是正確的命令?
!grep *.ext
僞代碼^
不是100%如何去做這件事。greping的價值!= *。文件擴展名爲
基本上我的應用程序創建兩個文件輸出。
file
file.ext
當通過目錄搜索它總是返回兩個文件。我只希望與
file
我該如何爲文件做一個grep?或者grep甚至是正確的命令?
!grep *.ext
僞代碼^
你可以嘗試用grep「文件$」,即選擇具有後該文件並沒有什麼結束行。或者,您可以使用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$'
這將排除結尾的文件名。
爲什麼不乾脆:
grep foobar file
,或者如果你要搜索的目錄
find . -name 'file' | xargs -r grep boofar
嘗試
grep -v option
-v做逆匹配
詳情做$ man grep
要生成與模式不匹配的所有文件的列表,請在find中使用-not
。所以你想要:
find . -not -name '*.ext'