linux - 在 Linux 上展平目录结构时将数字附加到文件名

标签 linux shell directory-structure flatten

我的目录结构如下所示:

/a/f.xml
/b/f.xml
/c/f.xml
/d/f.xml

我想做的是将所有 xml 文件复制到一个目录中,如下所示:

/e/f_0.xml
/e/f_1.xml
/e/f_2.xml
/e/f_3.xml

我怎样才能在 Linux shell 上高效地做到这一点?

最佳答案

let count=0
for file in $(ls $dir)
do
mv $file $newdir/${file%%.*}_$count.${file##*.}
let count=count+1
done

关于linux - 在 Linux 上展平目录结构时将数字附加到文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2336384/

相关文章:

c# - 如何在 Linux 上运行的 python 脚本与在 Windows 上运行的 .NET C# 应用程序之间建立通信?

linux - 如何使 Jmeter 从 CMD 运行命令 - 操作系统采样器 - JMETER

regex - 从日志文件中提取数据的 Shell 程序

shell - 为什么 "$_"没有按 GNU make shell 函数的预期扩展?

bash - 如何在 Bash 中打印换行符\n?

android - 在 Android Studio 中打开整个模块文件树

java - 检查正在运行的 JAR Linux 服务的版本

linux - Mongo 输出到 shell 变量

Python TDD目录结构

python - 如何在 Linux 中使用 Shell 或 Python 创建目录的哈希值?