다음과 같이 진행된 스크립트가 기억납니다. 이 스크립트를 사용하면 디렉터리에 있는 모든 파일의 모든 파일 경로를 텍스트 편집기에서 열어 디렉터리에 있는 파일을 이동할 수 있습니다. 그런 다음 파일 경로를 텍스트 편집기를 종료하고 텍스트 편집기를 종료하면 파일 이름이 변경되었습니다.
이 스크립트를 찾을 수 없는 것 같습니다. 이름이 뭔지 아는 사람 있나요? 나는 그것이 쉘 스크립트 모음의 일부라고 믿습니다.
답변1
vidir
텍스트 편집기에서 파일 이름을 편집할 수 있습니다. 편집기를 선택하려면 EDITOR
변수를 설정하세요. Debian 또는 Ubuntu에서는 패키지 vidir
에 있습니다 moreutils
.
할 수 있는 작업은 다음과 같습니다 vidir
(에서 발췌 man 1 vidir
).
디렉토리를 편집할 때 디렉토리의 각 항목은 고유한 번호가 매겨진 줄에 나타납니다. 이 숫자는
vidir
어떤 항목이 변경되었는지 추적하는 방법입니다. 디렉터리에서 파일을 제거하려면 줄을 삭제하고, 파일 이름을 바꾸려면 파일 이름을 편집하세요. 숫자 쌍을 전환하여 파일 이름을 바꿀 수도 있습니다.
"이름을 바꾸려면 파일 이름을 편집하세요"라고 적혀 있지만 이 도구는 더 많은 일을 할 수 있습니다. 전체 경로 이름을 편집하면 파일을 다른 디렉터리, 심지어 아직 존재하지 않는 디렉터리로도 이동할 수 있습니다( vidir
이를 생성하려고 시도합니다).
편집 후에는 텍스트 파일을 저장하고 편집기를 정상적으로 종료해야 vidir
해당 작업이 수행됩니다. vidir
파일을 수정하지 않거나(다른 이름이나 다른 위치에 저장하는 것도 포함) 편집기가 실패하고 종료되는 경우(즉, 종료 상태가 0이 아닌 경우) 아무 작업도 수행하지 않습니다. 파일을 저장하지 않고 편집기를 종료하거나 파일을 저장한 후에도 편집기가 실패하도록 만드는 경우(예)은 중단하는 방법입니다.
어딘가에 탭이나 개행 문자가 포함된 경로 이름이 있고 이로 인해 문제가 발생할 수 있다는 점이 두려우면 vidir
침착하십시오. 내가 아는 한, vidir
처음에는 그러한 경로 이름으로 작업하는 것을 거부할 것입니다.
예:
-
현재 작업 디렉토리의 내용에 대해 작업하지만 하위 디렉토리로 내려가지는 않습니다.vidir
-
선택한 디렉토리의 내용에 대해 작업하지만 하위 디렉토리로 내려가지는 않습니다.vidir /chosen/directory
-
vidir *.mp3
*.mp3
확장되는 모든 작업에 작동합니다 . 일치하는 항목이 없으면 이는 이상할 수 있습니다. 시작 부분을 참조하십시오이 답변. -
find . -type f | vidir -
find
일반적으로 매우 강력한 도구 인 경로 이름에 대해 작동합니다 ("이론" 참조).내 이 대답). Note는 기본적으로find
하위 디렉터리로 내려갑니다. -
편집기 처럼 작동EDITOR=kate vidir …
vidir …
하고 사용합니다 .kate