Linux
我想知道 Linux 中“find . -name ‘.c’ -or -name ‘.cpp’” 的確切命令
這些天我正在Linux中學習shell。我有一個問題。
請看下面的命令:
$ find . -name '*.c' -or -name '*.cpp'
上面的命令在內部像下面的命令一樣處理嗎?
$ find . -name '*.c' -and -print -or -name '*.cpp' -and -print
man find
說:If the whole expression contains no actions other than -prune or -print, -print is performed on all files for which the whole expression is true.
所以是的,它是等價的,但可能更容易將其視為:
find . \( -name '*.c' -or -name '*.cpp' \) -and -print
或更簡單,並且符合 POSIX 標準:
find . \( -name '*.c' -o -name '*.cpp' \) -print
基本上這兩個命令的含義相同並顯示相同的輸出。當你有更短的路時,為什麼要用更長的時間?