.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