為什麼 find -L ... fgrep 失敗?

為什麼 find -L ... fgrep 失敗?

我從 Ubuntu 遷移到 Debian,find現在在 tex 檔案中搜尋單字時遇到了問題馬西。程式碼及其輸出

masi@masi:~$ find -L "/home/masi/" -xtype f \
    -name "*.tex" -exec fgrep -l 'masi' {} + /dev/null

find: paths must precede expression: /dev/null
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
  • /dev/null在第二個命令集中是必要的,因為我們正在使用find -L,因為我們想要包含所有符號連結並遍歷它們而不排除搜尋中的任何內容。線程的使用動機這裡關於如何透過此查找避免多層符號連結?

作為單行

find -L "/home/masi/" -xtype f -name "*.tex" -exec fgrep -l 'masi' {} + /dev/null

作業系統:Debian 8.5
Linux 核心:向後移植 4.6
硬體:華碩 Zenbook UX303UA
相關:線程中腳本find的命令haetex如何搜尋.tex檔案?
尋找:find (GNU findutils) 4.4.2
Fgrep:grep (GNU grep) 2.20

答案1

只是:

find -L /home/masi/ -xtype f -name "*.tex" -exec fgrep -l 'masi' {} +

不需要處理檔案的佔位/dev/null{}

如果您嘗試隱藏錯誤輸出,請像這樣使用它:

command 2>/dev/null

相關內容