gpt4 book ai didi

linux - 如何在 Linux 中重命名目录中的多个文件并保留扩展名

转载 作者:太空宇宙 更新时间:2023-11-04 05:13:38 26 4
gpt4 key购买 nike

我需要重命名目录中的文件,取出每个文件不同但启动方式相同的字符串。我知道如何从文件名中删除字符,但如何保留扩展名?我知道这是一个常见问题的变体,但我找不到适合我确切需求的答案。

Redshirts_ep6_dSBHpCsvQ3BfQ7-NNIjXYO4pnHpNMvu7bfvURLF3BSzB_3YOOrBBoNnICTR-hg.mp3
-> Redshirts.mp3
PathsNotTaken_ep6_XWixFER4PJyeozVfcxT96UajpnVI7cRMRhAU4Aj9-rpeacnBleuGY9zCPDe0aQ.mp3
-> PathsNotTaken.mp3

最佳答案

Linux 命令 rename 在这里非常有用。它可以使用正则表达式来执行重命名。

这可能可以重写一下,但它似乎可以完成这里的工作:

rename -n 's/(^[^_]*)_.*/$1.mp3/' *.mp3

只需删除该 -n 标志即可真正运行。保留它只是一个测试。

这个正则表达式说:

^ 开头不包含下划线的字符 [^_] 重复任意次数 * 后,如果后面跟着下划线和任意数量的任何其他字符 _.*,则将被捕获到捕获组 (^[^_]*) 中。然后使用第一个捕获组 $1 后跟 .mp3

重写这些内容

关于linux - 如何在 Linux 中重命名目录中的多个文件并保留扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52173932/

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