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