【问题标题】:Is it possible to change a number of filenames to be the file extension in bash?是否可以将多个文件名更改为 bash 中的文件扩展名?
【发布时间】:2021-05-20 00:19:57
【问题描述】:

我有一些文件,它们都具有相同的基本名称 ($FILENAME),每个文件都有自己独特的扩展名。我正在尝试将扩展名设置为文件名(无扩展名)。

我尝试了几种不同的方法,最近的方法是:

find . -type f -name "$FILENAME" -exec sh -c 'x="{}"; mv "$FILENAME.$x" "${x}"' \;

【问题讨论】:

  • 这些文件都在同一个目录吗?
  • 是的,它们都在同一个目录中。
  • 也许for f in "$FILENAME"*; do mv "$f" "${f##*.}"; done 可以解决问题?
  • 是的,有效!谢谢! @jared_mamrot
  • 没问题 - 我会回答的

标签: bash filenames


【解决方案1】:

一种解决方案是使用 for 循环遍历以“$FILENAME”开头的文件,例如

for f in "$FILENAME"*
do
    mv "$f" "${f##*.}"
done

或者,作为一个单行:

for f in "$FILENAME"*; do mv "$f" "${f##*.}"; done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 2023-04-01
    • 1970-01-01
    • 2021-12-10
    • 2013-03-27
    • 2016-06-29
    • 1970-01-01
    相关资源
    最近更新 更多