番号付きディレクトリ内のファイルを検索する

番号付きディレクトリ内のファイルを検索する

下のディレクトリでは、深さ1(この場合は6〜11)の番号が付けられたディレクトリにネストされたファイルのリストが必要です。

$ ls *
1.org   2.MOV  3.MOV  4-1.MOV  5-1.mp4  5-2.MOV  5-2.org~  9-2.MOV
1.org~  2.org  3.org  4-1.org  5-1.org  5-2.org  9-1.MOV

10:
10.mp4

11:
11.MOV

6:
6.mp4

7:
7.MOV

8:
8.MOV

6.mp4たとえば、代わりに返したいと思います2.MOV。まず試してみてください(10 11が欠けているので完璧ではないことを知っています)。試してみましたが、depth場所の問題があります。

$ find . -type f -path [^0-9]/* 
./11/11.MOV
./5-1.mp4
./5-1.org
./4-1.MOV
./10/10.mp4
./7/7.MOV
./2.org
./3.org
./2.MOV
./5-2.org
./3.MOV
./5-2.org~
./5-2.MOV
./1.org
./1.org~
./8/8.MOV
./4-1.org
./9-2.MOV
./9-1.MOV
./6/6.mp4

ベストアンサー1

find特に指定しない限り、現在のディレクトリに含まれているすべての項目が表示されるため、これらの結果が得られます。現在のディレクトリに6-11という番号が付けられたディレクトリのファイルのみを表示するには、次のものが必要です。

9がないので、次のものを使用できます。

find {6,7,8,10,11} -type f

これにより、埋め込まれた数だけが拡張されます。

6から11までの数字がすべてある場合:

find {6..11} -type f

これにより、6-11というディレクトリのファイルのみが検索され、返されます。

これが現在のディレクトリの唯一のディレクトリである場合(結果によると)、次のこともできます。

find . -mindepth 2 -type f

現在のディレクトリの下から1つまたは2つのレベルの下で開始するように指示します。

おすすめ記事