我很新,發現正則表達式對我來說一直很棘手。我希望有人能迅速糾正這對我來說,甚至告訴我,這是爲什麼不這樣做,我認爲它應該(排除某些類型的文件是目標):提前在查找中排除文件類型的正則表達式
find . -type f \(-name "*" ! -name "*\.(vm | jar | class | htm | html | jpg | gif)$" \)
感謝。
我很新,發現正則表達式對我來說一直很棘手。我希望有人能迅速糾正這對我來說,甚至告訴我,這是爲什麼不這樣做,我認爲它應該(排除某些類型的文件是目標):提前在查找中排除文件類型的正則表達式
find . -type f \(-name "*" ! -name "*\.(vm | jar | class | htm | html | jpg | gif)$" \)
感謝。
我不熟悉find命令的語法,而是要配合定擴展名的文件,你將需要:
".*\.(vm|jar|class|htm|html|jpg|gif)$"
刪除空間,並在開始添加點。
我敢肯定找到查找默認爲每名,所以你額外的「-name‘*’」在這裏沒有必要。
在正則表達式的一面,看起來你已經找到你要找的答案,但你可能仍然想知道找到有OR標誌(-or或-O),可以使事情正則表達式時給你造成的麻煩更容易:
find . -type f ! \(-name "*.vm" -o -name "*.jar" -o -name ".class" \)
不利的一面,這顯然是更長的時間來寫......
記得看一看man find。
祝你好運
爲什麼 - 名稱「*」,然後第二個模式?不是-not -name「* \。(vm ...」足夠嗎? –
http://stackoverflow.com/questions/6844785/how-to-use-regex-with-find-command –