mmv(대량 이동 유틸리티)는 다음 파일의 이름을 바꾸는 데 적합합니다.
- foo.txt
- 바.txt
- 버즈.txt
도착하다:
- 1.txt
- 2.txt
- 3.txt
매뉴얼 페이지는 흥미롭지만 지침을 잘 따르지 않습니다.
Rename all *.jpeg files in the current directory to *.jpg:
mmv '*.jpeg' '#1.jpg'
변수를 #1
증가하는 정수로 설정할 수 있나요? 이것이 가능하다는 것을 의심하지는 않지만 bash나 다른 스크립트를 사용하는 것이 쉽거나 어려울까요?
1.txt
단순화를 위해 가능한 적용 범위 문제는 무시됩니다. 또는 하위 디렉터리에 복사하세요.
또한보십시오:
https://stackoverflow.com/questions/3211595/
답변1
내 시스템에는 해당 프로그램이 없습니다. 사실 이전에 들어본 기억은 없지만, 읽어본 적은 있습니다.이 매뉴얼 페이지의 사본, 프로그램에 원하는 기능이 포함되어 있지 않은 것 같습니다. 그러나 특별히 이 작업을 수행하려는 경우 mmv
다음을 시도해 볼 수 있습니다.
mmv -an "*.txt" bogus.target > /tmp/mmv.list
어떤 조치도 취하지 말고 -n
지정 mmv
하지 않은 경우 어떻게 될지 보고하세요 -n
. -a
모든 텍스트 파일을 하나의 파일에 추가하도록 지시합니다 bogus.target
. 사실 매뉴얼 페이지는 매우 유사한 예를 제공합니다(그러나 옵션은 없음 ). 여기서는 여러 소스 파일을 하나의 파일로 묶을 수 있음을 -n
확신하기 위해 사용하고 있습니다. mmv
표적. 그러면 /tmp/mmv.list
다음과 같은 파일이 생성됩니다 .
bar.txt -> bogus.target
baz.txt -> bogus.target
foo.txt -> bogus.target
(저는 사전 순서(알파벳순) 또는 디렉토리 순서(순서대로 나타날 수 있음)로 파일을 나열한다고 가정합니다. 다른 순서를 원하는 경우 이를 지정하는 방법을 찾아야 합니다.) 그런 다음 처리합니다. 파일(예: 스크립트, TBD 사용)을 사용하여 bogus.target
, 등 의 항목을 대체합니다. 그런 다음 실행1.txt
2.txt
3.txt
mmv < /tmp/mmv.list
참고: 저는 아직 이것을 시도하지 않았습니다(말씀드린 것처럼 저는 소프트웨어를 소유하고 있지도 않기 때문입니다). 중요하지 않은 일부 파일에 대해 먼저 테스트를 실행하고/하거나 이 작업을 수행하기 전에 모든 파일을 백업해야 합니다.
또한 이것은 아마도 귀하가 연결한 질문에 대한 답변 중 일부만큼일 것입니다. 내가 말했듯이, 특별히 mmv
.
PS 내 답변(위)은 다음에서 부분적으로 영감을 받았습니다.이것.