Excel 문서의 스크립트, 변수를 사용하여 폴더 이름 바꾸기

Excel 문서의 스크립트, 변수를 사용하여 폴더 이름 바꾸기

리눅스 파일 시스템

1500개의 폴더가 있는 디렉토리가 있습니다. 한 열에 1500개의 폴더 이름이 있고 다음 열에 고유 ID가 있는 Excel 문서를 사용하려고 합니다. 스크립트가 폴더 이름을 새로운 고유 ID로 다시 지정하도록 스크립트를 작성하려고 합니다. 스크립트 작성 방법을 모르지만 누구나 나를 도와줄 수 있는 방법이 매우 쉬워 보입니다. 누구든지 온라인으로 스크립트에 대한 링크를 제공할 수 있습니까(저는 찾을 수 없습니다).

Look at volume A for folder Var#1 (from excel)

if present on Volume A then mv Var#1 to Var#2 (from excel)

loop and grab next line of excel doc

답변1

좋습니다. 여기 있습니다:

$(cat test.csv)의 경우

하다

dir1=$(echo $i|sed 's/,.*//')

dir2=$(echo $i|sed 's/.*,//')

만약 [ -d $dir1]

그 다음에

if [ -d $dir2 ]

그 다음에

echo $dir2 존재, $dir1에서 $dir2로 이동 건너뛰기

또 다른

mv $dir1 $dir2

fi

fi

완료

답변2

그래서 저는 Linux, Unix, Mac 사용자이고 Perl과 Bash 스크립트를 작성합니다. Power Shell이나 cygwin이 있는 경우 다음을 수행할 수 있습니다. Windows에도 이 기능이 있을 수 있지만 숨을 멈추지 마십시오.

전체 작업을 수행하지 않고도 원하는 방식으로 이 기능과 모드를 적용할 수 있어야 한다고 생각합니다...

  • 데이터를 csv 파일(somefile.csv)에 저장하세요.
  • bash 쉘에서

bash> temp_line의 경우cat somefile.csv

하다

echo mv $temp_line |sed 's/,/ /'

완료 >somefile.sh

원하는 작업이 수행될 것이라는 확신이 들 때까지 다음 줄을 실행하지 마세요!

배쉬>. ./somefile.sh

그게 되어야 합니다... 참고, 이것은 빠른 해킹입니다. 이것은 더 많은 오류 검사와 추가 사항을 포함하여 작성할 수 있으며 이것은 내 머리 꼭대기에서 벗어났습니다 :) 당신이 겪을 수 있는 또 다른 문제는 파일/ dir 이름에는 따옴표만 추가하면 됩니다. 디렉터리가 있는지 확인해야 하는 경우 다음과 같은 if 문을 추가할 수 있습니다.

bash>if [ -d '디렉터리_이름' ]; 그럼 ... ;fi

쓰지 않고도 충분한 너겟이 될 것입니다. 나중에 영감을 받아 후속 게시물에 이 글을 쓸 수도 있습니다.

답변3

이것은대답이 아니다, 그런데 댓글이 적절한 서식이나 이만큼의 텍스트를 허용하지 않기 때문에 하나로 입력합니다.

분명히 기존 폴더의 이름은 고유합니다(@nerdwaller가 지적한 대로 모두 동일한 슈퍼 폴더에 있거나 전체 경로 이름으로 표시된다고 가정). 두 번째 열의 고유 ID는 정의에 따라 고유합니다. 두 열이 고유합니까(겹치지 않음)? 다음 데이터를 고려하십시오.

          이전 이름 ​​새 고유 ID
To_be,_or_not_to_be, 1
그게_질문이에요. 2
The_quick_brown_fox 3
Jumps_over_the_lazy_dog. 4
             ⋮ ⋮
Once_upon_a_midnight_dreary, 40
고민하는 동안, 41
약하고 지친, 42
             ⋮ ⋮
The_answer_to_the 56
삶의 궁극적인 질문, 57
the_universe,_and_everything_is 58
42 59
그리고_so_on... 60

weak_and_weary,로 이름을 바꾸려고 하면 42기존 42폴더와 충돌하게 됩니다. 아마도 이 문제를 해결하는 가장 좋은 방법은 고유 ID 패턴과 일치하는 이름이 있는지 이전 폴더 이름을 확인하고 수동으로 처리하는 것입니다.

관련 정보