특별히 명확하지 않은 사항이 있으면 알려 주시면 최대한 자세히 알려 드리겠습니다.파일 이름의 패턴에 따라 파일을 특정 디렉토리로 이동시키는 방법은 무엇입니까?
기본적으로 확장명과 패턴과 일치하는 디렉토리 및 하위 디렉토리에 다양한 확장자 및 유사한 패턴의 파일 세트를 파일 이름으로 정렬해야합니다. #### 1 900까지의 숫자입니다 패턴 "ZZ ####"로 시작하는,
모든 파일 확장자에 관계없이;
조금 정교한하려면 "zz1.zip부터 zz950.zip, zz1.mov부터 zz950.mov, zz1.mp4부터 zz950.mp4까지"일부 파일에는 추가 문자가 들어 있습니다. "zz360_hello_world.zip"
일부 파일에는 공백이 있습니다. "/ 홈/인사/zz1/우편/홈/인사/zz1/VID"
: "zz370_hello world.zip는"
나는이 파일을 분류하고 특정 형식 다음 디렉토리 및 하위 디렉토리로 이동해야
디렉터리 및/또는 하위 디렉터리가 없으면 만들어야합니다.
예 :
zz400_testing.zip ----> /home/hello/zz400/zip
zz400 testing video.mov ----> /home/hello/zz400/vid
zz500.zip ----> /home/hello/zz500/zip
zz500_testing another video.mp4 ----> /home/hello/zz500/vid
나는 주변의 간단한 사용 사례에 대한 몇 가지 답을 찾았지만 내 특정 요구에 대한 작업 아무 것도 얻을 수 없습니다.
아무런 도움이되지 않을 경우 대단히 감사하겠습니다.
감사합니다.
편집 :
for f in *.zip; do
set=`echo "$f"|sed 's/[0-9].*//'`
dir="/home/demo/$set/photos"
mkdir -p "$dir"
mv "$f" "$dir"
done
와 나는 장난 봤는데 코드를 추가 난 그냥 정규식과 일치하는 방법 주위에 내 머리를 포장하는 데 문제라고 생각한다. 나는 그것으로 지금까지이있어 :
[[email protected] grep]$ echo zz433.zip|sed 's/[0-9].*//'
zz
스크립트는 MKDIR을 실행, 심지어 자신의 적절한 위치로 zip 파일을 이동합니다. 난 그냥 적절한 최상위 디렉토리 (zz433)를 만들 수 없습니다.
코드는 어디에 있습니까? 너 뭐 해봤 니? 'mkdir'은 디렉토리를 만들고, 와일드 카드를 사용하여'ls'를 선택하거나'find'도 그렇게 할 수 있습니다.'mv'는 파일을 움직이게하고, 파일을 반복 할 필요가 있다면'for'를 사용하고'for'는 사용하지 않습니다. 'for '는 공백을 올바르게 처리하지 않습니다. 그것을 시도해보십시오, 여기에 문제가 있다면 앞으로 나아갈 수 있도록 도와 드리겠습니다. – Nic3500
@ Nic3500 사과, 나는 관련 정보를 가진 나의 포스트를 편집했다. 나는 이걸로> _ < – whybashwhy