如何将目录中的所有内容移至子目录?

时间:2018-07-21 18:06:18

标签: shell unix sh

通常,我

$ mkdir dirname
$ mv * dirname
mv: cannot move 'dirname' to a subdirectory of itself, 'dirname/dirname'

我没有看到这个问题,但是我很好奇是否还有其他解决方案(特别是那些不会导致错误消息的简单解决方案)。

1 个答案:

答案 0 :(得分:2)

87654的问题是外壳模式扩展。 mv * dirname将用于引用当前目录中的所有文件,因此它还将包括新的dirname子目录。因此出现错误信息。

要引用除一个文件外的所有文件,请尝试以下操作:

*,根据您的情况,其中excludeedFile是“ dirname”。 dirname也自然是“ New”目录。 mv ~/Old/!(excludedFile) ~/New/这样。

希望有帮助。