linux - 我可以使用 sed 重命名带有 "running count"的文件吗?

标签 linux sed

我有一个装满图片的目录。让我们说

/usr/pics/foo 
/usr/pics/duckface.jpg 
usr/pics/bar.bmp 
...

我想遍历并将它们重命名为

/usr/pics/pic1 
/usr/pics/pic2 
/usr/pics/pic3 
...

不必是 sed 任何我可以从 bash 脚本运行的东西都可以。我想我可以处理我只是不知道用什么替换的正则表达式。

最佳答案

我假设目录中的所有文件都是图像,并且您想重命名所有文件而不用担心扩展名或文件类型。然后尝试:

for f in /usr/pics/*; do ((i++)); mv "$f" "${f%/*}/pic${i}"; done

关于linux - 我可以使用 sed 重命名带有 "running count"的文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18422070/

相关文章:

c - 写时复制如何在 fork-exec 中工作?

linux - 将数值结果从单个文本文件分离到 linux 中的多个文件

c - C语言中的FILE类型(Linux)

linux - 两个文件之间的差异显示空行

linux - Bash 命令在循环内不起作用

linux - CentOS 使用 sed 不工作后插入新的文本行

linux - 如何比较bash中的2个文件并将特定值重定向到新文件

sed - 通过 sed 备份我的硬盘 `backup` 目录中的每个替换文件?

regex - bash - 从右侧替换目录字符串的简单方法

linux - 为单个命令指定多个可能的模式