gpt4 book ai didi

regex - 将文件名中除扩展名之外的所有 '.' 重命名为 '_'

转载 作者:IT王子 更新时间:2023-10-29 00:54:58 26 4
gpt4 key购买 nike

我正在尝试创建一个替换所有“.”的脚本。在带有“_”的文件名中出现。例如,当我尝试替换我使用的所有“”符号时:

rename 'y/ /_/' '{}' file
# test 1.2.jpg -> test_1.2.jpg

这很好用,但是当我尝试用“.”来做的时候符号扩展名也发生变化:

rename 'y/./_/' '{}' file
# test 1.2.jpg -> test 1_2_jpg

如何在不更改扩展名的情况下重命名文件(如果有)?

最佳答案

您可以使用前瞻来替换最后一个点之前的所有点:

rename 's/\.(?=[^.]*\.)/_/g' '{}'

或使用否定前瞻:

rename 's/\.(?![^.]*$)/_/g' '{}'

关于regex - 将文件名中除扩展名之外的所有 '.' 重命名为 '_',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21825071/

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