file - 没有扩展名的 bash 文件添加扩展名

标签 file bash scripting

我正在尝试编写一个非常简单的 bash 脚本,以便为一堆没有扩展名的文件添加文件扩展名 (.java)。

如果他们有扩展名(比如 .txt),我会这样做:

#!/bin/bash
for file in `*.txt`; 
do mv $file $file.java; 
done

但是,我的文件没有扩展名。我如何制作循环?我尝试了 *. 但没有成功。

谢谢。

最佳答案

#!/bin/bash
for file in *; do
  mv "$file" "$file".java; 
done

如果您只想移动没有扩展名的文件,请尝试:

#!/bin/sh
for file in *; do
  test "${file%.*}" = "$file" && mv "$file" "$file".java;
done

请注意,如果您的文件名合理,上面所有的双引号都是多余的。

关于file - 没有扩展名的 bash 文件添加扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14257844/

相关文章:

java - 使用 URL 或文件(在 ImageIO.read 中)

java - 如何使用文件中的值绘制折线图?

Bash getopts 命令

android - react native 中每一行的 renderRow 索引

用于从位于服务器中的 .ser 文件读取对象的 Java 程序

Java 从文件中读取。结果不好

c - 如何将变量传递给c中的命令

linux - 在 Linux 的目录中显示几行文件*

powershell - 根据用户输入加载脚本

scripting - 开始编写Lua脚本