Mac终端:从名称等于另一个文件夹中的文件的文件夹中删除文件

时间:2014-06-03 01:14:13

标签: macos bash shell terminal

有问题的两个目录的布局是:

folder1
-file1
-file2

folder2
-file1
-file2

目录中的文件名称相同。我尝试使用rm以编程方式删除文件夹2中的文件:

for f in /Users/michelegiarratana/1/*; do rm /Users/michelegiarratana/2/$f

但这不起作用。 $f是完整路径吗?我如何得到这个名字?

由于

1 个答案:

答案 0 :(得分:0)

正如savanto在评论中所说 - 是的,你是对的,$f这里是完整的文件路径。要解决此问题,您应该使用basename builtin,它只提取文件名。在您的示例中:

for f in /Users/michelegiarratana/1/*; do rm /Users/michelegiarratana/2/$(basename $f); done

此外 - 您的问题更广泛地应用于bash shell而不仅仅是OS X终端,将来,您应该尝试在bash标记中查找答案,因为其中许多对您有用。