linux - 更改目录中数十亿个文件的后缀和前缀

标签 linux bash shell awk sed

<分区>

我在一个目录中有数十亿个文件,它们的名称如下:

split-00342964
split-00342965    
split-00342966
split-00342967

我愿意

  1. 删除前缀 split-00
  2. 将扩展名.png 添加到所有文件。

我试过

rename 's/^split-00//' split-00*

但我得到 bash:/usr/bin/rename: Argument list too long

结果。

我正在寻找一种解决方案,它也可以扩展,这意味着完成上述重命名任务所需的时间最少。

最佳答案

你可以使用下面的命令来实现,

for f in split-00*; do 
    mv $f $(echo $f|awk '{print substr($0,9) ".png"}'); 
done

关于linux - 更改目录中数十亿个文件的后缀和前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44695114/

相关文章:

linux - 为什么在 shell 脚本中,$?不能回显两次吗?

windows - 从 Windows 上的 bash 脚本运行 Openssl - 主题不以 '/' 开头

r - 在 Mac 上自动化 R 脚本

linux - LD_LIBRARY_PATH 在 bash 脚本中失败

python - 使用Sqoop并行导入Oracle表的最佳方法是什么?

linux - 如何在 Aspire V5-122P BIOS 中启用 VT-x/AMD-v?

linux - Linux 内核如何确定 __init 调用的顺序?

linux - 我如何跨 linux 服务器处理 ValidateAntiForgeryToken

bash - 从它停止的地方启动 bash shell(由于错误)

linux - 为什么有些 Bash 命令既是内置命令又是外部命令?