Unix指令在一個目錄中尋找檔案而不是在另一個目錄中?

Unix指令在一個目錄中尋找檔案而不是在另一個目錄中?

尋找直接購買而不是另一目錄中的檔案的unix指令是什麼?我只關心檔名。

謝謝。

答案1

我假設您想從更高級別的目錄進行此搜尋。如果是這樣,您可以使用該-path選項find

例如,給出下面的目錄結構

+---dir1/test1.txt
  |
  |--dir2/test1.txt

在 dir1 使用中尋找與「test*」相符的文件

find -path '*dir1*' -iname 'test*'

答案2

要比較兩個目錄,您可以使用以下命令:

diff <(cd "$dir1"; find | sort) <(cd "$dir2"; find | sort)

要僅以一種方式執行此操作並產生文件列表,請嘗試以下操作:

diff <(cd "$dir1"; find | sort) <(cd "$dir2"; find | sort) \
| grep '< ./' | sed "s,< ./,$dir1/,"

為了使其正常工作,$dir1 和 $dir2 都不應包含尾部斜線。

相關內容