gpt4 book ai didi

shell - 从文件名中删除子字符串

转载 作者:行者123 更新时间:2023-12-04 16:16:53 25 4
gpt4 key购买 nike

我有名称为“NAME-xxxxxx.tedx”的文件,我想删除“-xxxxxx”部分。 x 都是数字。正则表达式 "\-[0-9]{1,6}" 匹配子字符串,但我不知道如何从文件名中删除它。

知道如何在 shell 中做到这一点吗?

最佳答案

如果您安装了 perl version of the rename command,您可以尝试:

rename 's/-[0-9]+//' *.tedx

演示:

[me@home]$ ls
hello-123.tedx world-23456.tedx
[me@home]$ rename 's/-[0-9]+//' *.tedx
[me@home]$ ls
hello.tedx world.tedx

如果这意味着覆盖现有文件,此命令足够聪明,不会重命名文件:

[me@home]$ ls
hello-123.tedx world-123.tedx world-23456.tedx
[me@home]$ rename 's/-[0-9]+//' *.tedx
world-23456.tedx not renamed: world.tedx already exists
[me@home]$ ls
hello.tedx world-23456.tedx world.tedx

关于shell - 从文件名中删除子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13950407/

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