フォルダが30個あります。
s-01
s-02
...
s-30
さらに、30個のファイルがあります:
txtFile-001
txtFile-002
...
txtFile-030
次のタスクを一度に行う方法
mv txtFile-001 s-01/txtFile
mv txtFile-002 s-02/txtFile
...
mv txtFile-030 s-30/txtFile
答え1
forループを使用してください:
for i in $(seq -w 1 30); do mv -v "txtFile-0${i}" "s-${i}/txtFile"; done
これは01
、コマンドにその番号を含むすべての番号を実行して呼び出します30
。mv
$i
編集する:それがなければ、seq
次のように繰り返されます。
for i in {01..30}; do mv -v "txtFile-0${i}" "s-${i}/txtFile"; done
答え2
一度のストライキ?
prename 's!txtFile-0(..)$!s-$1/txtFile!' txtFile*
これは正規表現を使用してtxtFile-0nnの末尾の2桁を分割し、それをディレクトリサフィックスとして使用します。