linux 时间戳命名,linux – 如何重命名以Unix时间戳开头的多个...

这篇博客介绍了如何利用Perl的rename工具,结合正则表达式和stat函数,从shell提示符批量重命名符合特定模式的文件。在确认命令正确无误后,可以通过更新alternatives来设置rename工具为默认,并解决可能的'Argument list too long'错误。该工具最初由Perl之父Larry Wall编写。
摘要由CSDN通过智能技术生成

尝试使用rename执行此操作:

$rename -n 's/^\d+/(stat($_))[9]/e' [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]*

从shell提示符.它非常有用,您可以像使用e修饰符替换stat那样添加一些perl代码.

当测试成为valid时,您可以删除-n(干运行模式开关).

如果运行以下命令(linux)

$file $(readlink -f $(type -p rename))

你有一个结果

.../rename: Perl script, ASCII text executable

并且不包含:

ELF

那么这似乎是正确的工具=)

如果没有,为了使它成为Debian上的默认(通常已经是这种情况)和Ubuntu这样的派生:

$sudo update-alternatives --set rename /path/to/rename

(将/ path / to / rename替换为perl重命名命令的路径.

如果您没有此命令,请搜索包管理器以安装它或do it manually

最后但并非最不重要的是,这个工具最初是由Perl的父亲Larry Wall编写的.

编辑

如here所述,如果您有以下错误:

Argument list too long

然后使用find这样:

find -type f -name '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]*' -print0|

xargs -0 -n1 rename -n 's/^\d+/(stat($_))[9]/e'

(尝试没有-n1,这也应该有效)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值