我有 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 的尾随两位数字并将其用作目录后缀。