事前定義された範囲でワイルドカードシーケンスを使用して番号付きファイルを一覧表示する

事前定義された範囲でワイルドカードシーケンスを使用して番号付きファイルを一覧表示する

番号付きデータファイルを含むフォルダがあります。事前定義されたファイル範囲を段階的に抽出しようとしています。私が探しているファイルの範囲は、コードが実行されるにつれて変更されるnsとneという2つの変数で事前定義されています。

私は次のことを試してきました。

$ ns=0001
$ ne=0030

$ ls foo_{$ns..$ne}.nc

{$ns..$ne}しかし、これはシーケンスとして読み込まれず、エラーを返します。

ls: cannot access foo_{0001..0030}.nc: No such file or directory

同じコマンドを入力して数値を手動で入力すると、期待どおりに0001から0030までの数字を含むファイルのリストが表示されます。

私はシーケンシングを使って基本的なミスをしていると思いますが、誰かがミスが何なのか教えてほしいです。

とても感謝しています。

ベストアンサー1

中括弧拡張は変数拡張の前に発生するため、その中で変数を使用することはできません。あなたはそれを使用することができますseq

seq -f foo_%03.0f.nc $ns $ne

おすすめ記事