这应该相对比较简单,但我已经尝试了一段时间,没有太多的好运。
我有一个目录,其中包含许多子目录,每个子目录都有自己的结构和文件。
我想要查找工作目录下任何目录中的所有
例如,我想将所有Java文件命名为
如果目录结构如下:
我的问题之一是路径中可能会有空格。 我不需要担心重命名类或文件中的任何内容,只需替换文件名即可。
如果一个目录中有多个
我尝试过使用
我有一个目录,其中包含许多子目录,每个子目录都有自己的结构和文件。
我想要查找工作目录下任何目录中的所有
.java
文件,并将它们重命名为一个特定的名称。例如,我想将所有Java文件命名为
test.java
。如果目录结构如下:
./files/abc/src/abc.java
./files/eee/src/foo.java
./files/roo/src/jam.java
我想简单地重命名为:
./files/abc/src/test.java
./files/eee/src/test.java
./files/roo/src/test.java
我的问题之一是路径中可能会有空格。 我不需要担心重命名类或文件中的任何内容,只需替换文件名即可。
如果一个目录中有多个
.java
文件,我不介意覆盖它们,或者给出提示来选择该怎么做(两种方式都可以,每个目录中有多个文件的可能性很小)。我尝试过使用
mv
和find
,但是当我将它们连接在一起时,似乎做错了。我想确保将文件保留在其当前位置并进行重命名,而不是移动。
$1
,%
会删除最短匹配的后缀/*
,就像dirname "$1"
一样从$1
中去掉文件名。然后将/test.java
附加到该目录名。 - John Kugelman