gpt4 book ai didi

linux - 更新文件名最后一个字符的 Shell 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:20:47 33 4
gpt4 key购买 nike

我在目录和子目录中有文件,应更改文件名,以便根据提供的参数将最后一个字符替换为数字或字符。我可以为数字做这件事,但不能为一个角色做。

例如。如果文件名是 20170504ABCDXXXYYY6.xml20170504CFLFXXXYYY6.cfl.bz2 .

如果我写命令 ./updateLastCharacter 5 , 文件名应该是 20170504ABCDXXXYYY5.xml20170504CFLFXXXYYY5.cfl.bz2 .

如果命令是./updateLastCharacter A , 文件名应该是 20170504ABCDXXXYYYA.xml20170504CFLFXXXYYYA.cfl.bz2 .

我是 shell 脚本的新手。我为实现它做了很多尝试,但我能做的是:

find $directory -exec rename "s/[0-9].xml/$newNumber.xml/;s/[0-9].cfl/$newRevisionNumber.cfl/" {} ";"

这适用于数字,但我正在寻找如何使用单行命令为字符执行此操作。

最佳答案

重命名(perl 函数)的简单解决方案

找到 . |重命名 -n -v 's/[A-Za-z0-9](?=\.)/5/'

-n表示没有 Action
-v 表示在屏幕上显示冗长

enter image description here


你可以使用 renrem 直接程序实用程序比在 Perl 中重命名更强大。
我自己写了那个程序,因为我需要很多东西来重命名或删除文件。

enter image description here

关于linux - 更新文件名最后一个字符的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43225985/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com