1

内のすべてのファイルをコピーしたいとしdirますdest

$ tree .
.
├── dest
└── dir
    ├── dir
    │   ├── file1
    │   └── file2
    └── file3

ファイル名とディレクトリの深さがわかっている場合、これは簡単です。

$ echo dir/f* dir/*/*
dir/file3 dir/dir/file1 dir/dir/file2

$ cp dir/f* dir/*/* dest/

$ tree dest/
dest/
├── file1
├── file2
└── file3

ディレクトリのみを取得するのも簡単です (globstar を使用)。

$ echo dir/**/*/
dir/dir/

しかし、ファイルのみをグロブする方法がわかりません。たとえば、次のようには機能しません。

$ echo dir/**/*!(/)
dir/**/*!(/)
4

1 に答える 1