6

スクリプトにこの文字列を書き込むと、次のようになります。

list=$(ls /path/to/some/files/*/*/*.dat)

それはうまくいきます。しかし、私が必要としているのは

files="files/*/*/*.dat"
list=$(ls /path/to/some/${files})

そしてそれは言う

ls: /path/to/some/files/*/*/*.dat: No such file or directory

どうすればいいですか?

4

2 に答える 2

17

一致するファイルが本当にない場合にのみメッセージが表示される場合は.dat、これをスクリプトに追加します。

shopt -s nullglob

一致するファイルがない場合、文字通りに扱われるのではなく、globが空のリストに展開されます。

于 2012-07-27T12:53:47.463 に答える
4

これを試して:

list=$(find /path/to/some/files/ -mindepth 3 -maxdepth 3 -name '*.dat')
于 2012-07-27T12:29:21.447 に答える