
ファイルとフォルダを同じフォルダ内のフォルダに移動したいです。次のモデルは例です。
|-folderN
|-- folder1
|-- folder2
|-- file1
もしそうなら、問題はフォルダN(/ var / www)からフォルダ2にすべてを一度に移動する方法です。各ファイルを手動で移動するには時間がかかり、長期的には不可能です。
試験を終えた
mv -v folderN/* folder2
そして
mv folderN/* folder2
答え1
ls
とを使用する別の方法ですgrep -v
。この-v
オプションは一致を反転し、一致しない行のみを一覧表示します。
mv `ls | grep -v folder2` folder2
コマンドは一重引用符の代わりにバックティックを使用します。
答え2
2番目のフォルダを1つ上のレベルに移動し、コンテンツを移動し、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
必要な唯一のコマンドでなければなりません。