.txt
あるディレクトリから別のディレクトリに移動したいフォルダのリストを含むファイルがあります。私はこれに関する多くの投稿を見ましたが、そのうち何も効果がありませんでした。主にGNUバージョンmv
のxargs
。私が見つけたこれPostは私が望むことをしていますが、Linuxでのみ可能です。現在、FreeBSD バージョン 12.2-RELEASE-p3 を実行する最新バージョンの TrueNAS Core を使用しています。
次のコードを試してみました。ファイルのフォルダ名には、文字、数字、スペース、(
および)
:が含まれます。
while IFS= read -r file; do
mv Projects/"$file" Archives/PROJECT\ ARCHIVE\ 2020;
done < Projects/Archive_List_test.txt
それは私に次のような結果を与えます:
to Archives/PROJECT ARCHIVE 2020/folder1: No such file or directory
: No such file or directoryE 2020/folder2
フォルダ1とフォルダ2はリスト内のフォルダ名です。テストのためにフォルダは2つしかありませんでしたが、実際には360のフォルダを移動する必要がありました。
時間をいただきありがとうございます。
答え1
以下のスクリプトは期待どおりに動作するようです。次のフォルダをテストしてみましょう。
admin@truenas:~/tmp $ ls -la
total 32
drwxr-xr-x 4 admin admin 6 Apr 2 14:15 .
drwxr-xr-x 4 admin admin 12 Apr 2 14:06 ..
-rw-r--r-- 1 admin admin 16 Apr 2 14:18 Archive_List_test.txt
drwxr-xr-x 3 admin admin 3 Apr 2 14:07 Archives
drwxr-xr-x 4 admin admin 4 Apr 2 14:19 Projects
-rwxr-xr-x 1 admin admin 130 Apr 2 14:17 script.sh
admin@truenas:~/tmp $ ls -la Archives/PROJECT\ ARCHIVE\ 2020
total 1
drwxr-xr-x 2 admin admin 2 Apr 2 14:15 .
drwxr-xr-x 3 admin admin 3 Apr 2 14:07 ..
admin@truenas:~/tmp $ ls -la Projects/
total 14
drwxr-xr-x 4 admin admin 4 Apr 2 14:19 .
drwxr-xr-x 4 admin admin 6 Apr 2 14:15 ..
drwxr-xr-x 2 admin admin 2 Apr 2 14:19 folder 1
drwxr-xr-x 2 admin admin 2 Apr 2 14:19 folder 2
admin@truenas:~/tmp $ cat Archive_List_test.txt
folder 1
folder 2
このスクリプトはファイルにリストされているフォルダを移動します。Archive_List_test.txt、ディレクトリからプロジェクト/ディレクトリへアーカイブ/プロジェクト\アーカイブ\2020/
admin@truenas:~/tmp $ cat script.sh
#!/bin/sh
while IFS= read -r file; do
mv "Projects/${file}" Archives/PROJECT\ ARCHIVE\ 2020/;
done <Archive_List_test.txt
admin@truenas:~/tmp $ ./script.sh
admin@truenas:~/tmp $ ls -la Projects/
total 13
drwxr-xr-x 2 admin admin 2 Apr 2 14:30 .
drwxr-xr-x 4 admin admin 6 Apr 2 14:15 ..
admin@truenas:~/tmp $ ls -la Archives/PROJECT\ ARCHIVE\ 2020
total 2
drwxr-xr-x 4 admin admin 4 Apr 2 14:30 .
drwxr-xr-x 3 admin admin 3 Apr 2 14:07 ..
drwxr-xr-x 2 admin admin 2 Apr 2 14:19 folder 1
drwxr-xr-x 2 admin admin 2 Apr 2 14:19 folder 2