删除文本文件bash中的文件扩展名

这个问题在这里已经有了答案:

  • 在Bash中提取文件名和扩展名35个答案

  • 只需循环访问.log文件并将其移动即可:

    for file in *.log
    do
        mv "$file" "${file%.log}"
    done
    

    这使用shell参数扩展:

    $ d="a.log.log"
    $ echo "${d%.log}"
    a.log
    

    使用rename命名通过从最后删除.log来重命名所有.log文件:

    rename 's/.log$//' *.log
    
  • .log$匹配.log在文件名的末尾,它是由空白代替省略
  • 如果你使用的是prename ,那么你可以先做一个干运行:

    rename -n 's/.log$//' *.log
    

    如果对所做的更改感到满意:

    rename 's/.log$//' *.log
    
    链接地址: http://www.djcxy.com/p/57085.html

    上一篇: Removing the file extension in a text file bash

    下一篇: Trim string from string