我想将文件和文件夹移动到同一文件夹内的文件夹中。以下模型为例
|-folderN
|-- folder1
|-- folder2
|-- file1
所以问题是如何将所有内容一次性从folderN (/var/www) 移动到folder2?手动移动每个文件需要很长时间,从长远来看是不可行的。
尝试过
mv -v folderN/* folder2
和
mv folderN/* folder2
答案1
ls
另一种使用和 的方法grep -v
。该-v
选项反转匹配,因此仅列出不匹配的行。
mv `ls | grep -v folder2` folder2
请注意,命令中使用的是反引号而不是单引号。
答案2
将第二个文件夹向上移动一步,移动内容,然后将第二个文件夹向后移动。就像这样:
cd folder1
mv folder2 ..
mv * ../folder2/
mv ../folder2 .
答案3
find
+mv
解决方案:
find folderN/ -mindepth 1 ! -wholename '*/folder2' -exec mv "{}" "folderN/folder2" \;
答案4
您报告无法将一个文件夹的内容移动到另一个文件夹?这是您尝试过的事件顺序吗?
$ ls folderN
file1 file2 folder1 folder2
$mv folderN/* folder2
mv: cannot move 'folder2 to a subdirectory of itself, `folder2/folder2`
$ls folderN/folder2
file1 file2 folder1
mv folderN/* folderN/folder2
应该是您需要的唯一命令。