이 질문은 다른 사람들 사이에서 다소 독특합니다.
폴더 묶음이있는 디렉토리가 있고 각 단어를 구분하기 위해 마침표를 사용하여 이름이 지정됩니다.
다음과 같습니다 : foo.bar.2011.useless.words
마지막 두 단어는 항상 쓸모없는 단어이므로 두 번째 마침표부터 시작하여 자릅니다.
문구의 확실하지 ...
많은 감사bash 스크립트는 하나의 디렉토리에서 파일 이름을 자릅니다.
0
A
답변
1
for file in *.*.*
do
mv "$file" "${file%.*.*}"
done
0
. 그러나 이름을 바꿀 폴더가 /toplevel/subdir1/foo.bar.baz.blah/
과 같은 하위 디렉토리에있는 경우 아래에서 내 find
명령을 사용해야합니다. Bash 4.x
이없는 경우 shopt -s globstar
옵션을 사용할 수 있습니다. 당신은 변경하지 않고 드라이 실행을 할 수 있도록
find /top/level/dir -type d -name '*.*.*' -exec sh -c 'for arg; do echo mv "$arg" "${arg%.*.*}"; done' _ {} +
는 내가 거기에
echo
을 추가했다. 출력에 만족하면
echo
을 제거하고 다시 실행하여 변경 사항을 영구적으로 유지하십시오. 당신은 기분 경우
가 뻔뻔하게, 유용한 도구에게 도움을 의심의 여지을 이그나시오의 PE
+0
감사를 훔쳐서 내 $tmp
VAR을 제거 편집, 아마도 ... –
fightermagethief
관련 문제
- 1. Bash : 배열을 어떻게 자릅니다?
- 2. BASH 쉘 스크립트는
- 3. 디렉토리에서 파일 이름을 빨리 읽는 방법은 무엇입니까?
- 4. Bash 스크립팅 파일 이름을 변수로 내보내기
- 5. 특정 파일 이름을 찾는 BASH apache
- 6. 디렉토리에서 일치하는 모든 파일 이름을 명령 행 옵션으로 변환하는 쉘 스크립트 (bash)를 어떻게 작성합니까?
- 7. Windows 배치 파일 : 디렉토리 이름을 기준으로 디렉토리에서 파일 선택
- 8. Assets 디렉토리에서 폴더 이름을 가져옵니다.
- 9. 디렉토리에서 대시로 시작하는 파일 찾기
- 10. 모든 파일 이름을 255 자로 자르는 명령
- 11. bash shell : 파일의 이름을 바꾸는 법
- 12. 디렉토리에서 명령 줄에서 파일 찾기
- 13. 디렉토리가 아닌 파일 이름 만 출력하기 (BASH)
- 14. 하나의 Bash 명령어 추가
- 15. 루아의 디렉토리에서 파일 이름 받기
- 16. 디렉토리에서 모든 파일 이름 얻기
- 17. bash : 경로에서 실행 중일 때 현재 디렉토리에서 다른 프로그램 실행
- 18. 파일에서 파일 이름 찾기 (디렉토리에서)
- 19. 디렉토리에서 파일 이름으로 데이터베이스 채우기
- 20. PHP 디렉토리에서 하나의 파일을 삭제합니다.
- 21. BASH 파일 공간
- 22. iPhone의 특정 디렉토리에서 파일 이름을 가져 오는 방법은 무엇입니까?
- 23. 디렉토리에서 하위 문자열과 일치하는 모든 파일과 파일 이름을 찾습니다.
- 24. 코드의 일부로 현재 디렉토리에서 Python/bash 코드를 어떻게 실행합니까?
- 25. Bash cat 파일을 하나의 파일에 담아 내용 앞에 파일 이름을 삽입하십시오.
- 26. 크기에 따라 이미지의 이름을 바꾸는 Bash 스크립트?
- 27. 셸 스크립트 도움말 - 디렉토리에서 파일 이름의 이름을 바꿉니다 (특수 문자 제거)?
- 28. Bash 하위 문자열 파일 완료
- 29. Bash 스크립트 -e 변수의 파일 이름을 감지하지 못합니다.
- 30. /bin/bash 파일 오류
하나의 작은 위의 의견에 질문에 대답 비평 :'*. *. * /'에있는'for file '을 사용하여 디렉토리에만 일치하는 패턴을 제한하려고합니다. 이제 당신이'this.is.a.file'와 일치하게됩니다. – SiegeX
감사합니다. 혼란스러워하는 한가지 : "*. *. * 파일의 경우, 얼마나 많은". "파일이 실제로 예를 들어, 폴더 이름에 "."이 6 개 정도있는 경우? – fightermagethief
@bboyreason'*. *. * '은 이름에 적어도 * 두 개의 점이있는 파일 또는 폴더와 일치합니다. Ignacio에 대한 제 코멘트에서 언급 한 바와 같이'*. *. * /'를 사용합니다. 따라서 파일 이름이 아니라 적어도 두 개의 점이있는 폴더와 일치하게됩니다. – SiegeX