私がこのようなディレクトリ構造を持っているとしましょう:
/home/user/Desktop/test/testdir1/
/home/user/Desktop/test/testdir2/
/home/user/Desktop/test/testdir3/
そしてここに同じ構造:
/home/user/Documents/test/testdir1/
/home/user/Documents/test/testdir2/
/home/user/Documents/test/testdir3/
次のようなファイルを移動するにはどうすればよいですか?
/home/user/Desktop/test/testdir3/hello.txt
それぞれのディレクトリに?(ファイルのみを移動)
私はこのコマンドを使用します:
cd /home/user/Desktop/
find . -type d -print0 | xargs -0 -I'{}' echo mkdir -p '/home/user/Documents/{}'
find . -type f -print0 | xargs -0 -I'{}' echo mv '{}' '/home/user/Documents/{}'
を引用する{}
と、スクリプトがスペースを含むファイルで機能するようになります。
また-print0
して-0
からファイルを渡すfind
にxargs
使用する\0
区切り文字として。これにより、スクリプトが奇妙なファイル名で機能するようになります。
echo
スクリプトが適切であると思われる場合は、whenを削除してください。の使用はecho
、副作用なしでコマンドをテストすることです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加