小编Nic*_*lla的帖子

批量重命名文件为顺序编号

我试图在我的 shell 中批量重命名一堆文件,即使互联网上有很多关于它的材料,我似乎无法找到适合我的特定情况的解决方案。

我有一堆具有(似乎是)“时间戳 ID”的文件:

abc_128390.png
abc_138493.png
abc_159084.png
...
Run Code Online (Sandbox Code Playgroud)

我想换一个柜台:

abc_001.png
abc_002.png
abc_003.png
...
Run Code Online (Sandbox Code Playgroud)

我(很多)天真的方法是这样的:

mv abc_*.png abc_{001..123}.png

另外,我想不出一种方法让它与for-loop 一起工作。

不幸的rename是,FWIW在这个特定系统上不可用。

任何建议将不胜感激!

shell bash shell-script rename

5
推荐指数
2
解决办法
1万
查看次数

用 `scp` 或 `rsync` 中的标志定义目标目录(如 `cp -t`)

由于我经常通过网络将不同数量的特定文件复制到(相当复杂的)目标目录中,如果我可以使用cp's-t标志,我的生活会容易得多:有了它,您可以指定目标目录“在开始”——而不是作为最后的论点。

这样,我可以CTRL-R先复制命令,然后再CTRL-W复制以前复制的文件,而不管之前有多少文件,始终保留(复杂的)设置和目标目标系统和目录。

但是我找不到任何合适的标志,无论是 forscp还是 for rsync。(如果其中一个提供此选项,我会使用其中之一。)

scprsync提供类似的东西cp -t

在绝望中,我什至玩弄了bash的历史控制,尤其是参数提取机制:不幸的是,似乎不可能以“第x个参数到最后一个参数”的形式指定范围。but-one”,这是我需要的,因为我并不总是有参数的数量(除非我计算......)。

bash scp cp rsync

0
推荐指数
1
解决办法
220
查看次数

标签 统计

bash ×2

cp ×1

rename ×1

rsync ×1

scp ×1

shell ×1

shell-script ×1