![공백을 밑줄로 바꾸지 않도록 detox의 기본 사용을 변경하는 방법](https://linux55.com/image/80744/%EA%B3%B5%EB%B0%B1%EC%9D%84%20%EB%B0%91%EC%A4%84%EB%A1%9C%20%EB%B0%94%EA%BE%B8%EC%A7%80%20%EC%95%8A%EB%8F%84%EB%A1%9D%20detox%EC%9D%98%20%EA%B8%B0%EB%B3%B8%20%EC%82%AC%EC%9A%A9%EC%9D%84%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
기본 사용법에 만족합니다디톡스파일 이름을 삭제하기 위해 공백을 항상 단일 밑줄로 바꾸고 싶지는 않다는 점을 제외하면. 공백을 단일 공백으로 바꾸고 싶습니다.
어떻게 해야할지 아시나요?
답변1
나는 그것에 익숙하지 않지만 이를 사용하여 다음과 같이 파일 이름을 변환 detox
할 수 있다는 것을 알고 있습니다 .tr
$ echo "a_b__c" | tr -s '_' ' '
a b c
$ echo "a b c" | tr -s ' '
a b c
분명히 echo
명령을 귀하의 detox
라인으로 바꾸십시오.
답변2
나는 해독에 익숙하지 않지만 파일 이름을 일괄적으로 바꾸는 다른 더 유연한 방법이 있습니다.
와 함께Perl 기반 이름 바꾸기 유틸리티rename
(이 버전은 Debian 및 그 파생 제품과 prename
기타 배포판에서 사용할 수 있습니다.) 임의의 Perl 코드를 지정하여 파일 이름을 바꿀 수 있습니다. 예를 들어, 현재 디렉터리의 모든 파일 이름에 있는 일련의 공백을 단일 공백으로 바꿉니다.
rename 's/\s+/ /g' *
또한 구두점 주변의 공백이 제거되고 .
밑줄을 제외한 다른 구두점과 공백 시퀀스가 대체됩니다.
rename 's/\s* \s*/ /g; s/\s*([^[:alnum:]_. ])[^[:alnum:].]//g' *
zsh를 쉘로 사용하면 멋진 기능을 사용할 수 있습니다zmv
기능. 이렇게 하면 현재 디렉터리의 파일 이름에 있는 여러 공백 autoload -U zmv
이 .zshrc
단일 공백으로 압축됩니다.
zmv '*' '${f// ##/ }'