대문자를 파일 이름의 소문자로 변환

찾기 시도 (Linux 명령)

많은 경우에 소문자 파일 및 디렉토리 이름. 하나씩 이름을 바꾸는 것은 매우 힘든 작업입니다. 특히 수백, 수천 개의 파일이있을 경우 작업이 더 복잡해지고 손으로 전달하기가 어려워집니다. 그러나 그것이 불가능하거나 완전히 빠르고 자동화 된 방식으로 할 수있는 방법이 없다는 것을 의미하지는 않습니다.

그러나 순수한 미학이나 각 사용자의 선호도를 넘어서 때로는 기술적 문제에 관한 것입니다. 앱은 대문자로 된 특정 이름으로 작동하지 않습니다 그리고 그들은 회심해야합니다. 이러한 앱 중 하나를 발견하면 오랫동안 모든 종류의 이름을 가진 파일을 쌓아 왔고 되돌아가는 것이 복잡해집니다. 하지만 걱정하지 마세요.이 튜토리얼에서 보여 드리는 간단한 해결책이 있습니다.

대문자를 소문자로 변환

대문자에서 소문자로 전환하는 명령

가장 먼저 알아야 할 것은 다음 명령은 모두 대문자를 소문자로 변환합니다., 해당 디렉토리 내에 하위 디렉토리가 있는지 여부를 포함합니다. 따라서 모두 소문자로 지정하지 않으려면 특정 디렉토리에서 수행하십시오. 그렇지 않으면 모든 것이 변환됩니다. 나중에 문제가 없으며 소문자로 변환하고 싶지 않은 이름이 변환되도록 이것은 나에게 중요해 보입니다.

반면에 이름 변경 프로그램을 설치하십시오. 설치하지 않은 경우 배포판의 패키지 관리자를 사용하여 쉽게 설치할 수 있습니다. 그러나 일반적으로 설치해야하므로 모든 경우에 설치할 필요는 없습니다. 이 도구는 일반적인 mv를 사용하여 이름을 하나씩 수정하는 대신 여러 이름을 동시에 수정할 수 있도록 도와줍니다.

비즈니스에 착수하기 전에 알아야 할 또 다른 사항은 대문자에서 소문자로 변환 할 때 동일한 이름을 발견하면 변환되지 않는다는 것입니다. 당신은 이미 리눅스가 대소 문자를 구별하는 FS에서 대소 문자를 구분합니다. 즉, Hello2 및 HELLO2라는 파일이있는 경우 시스템에서 구분합니다. 그러나 물론 ..., 소문자로 이동하면 둘 다 hello2라고 불리며 불가능합니다. 따라서 오류 메시지를 던지고 변환하지 않습니다.

그 후에 알아야 할 모든 것이 있으며 이름을 대문자에서 소문자로 변환 할 수 있습니다. 그만큼 일반 명령 다음과 같으며 원하는 디렉토리를 가리 키도록 수정할 수 있습니다.

<br data-mce-bogus="1">

<em>find &lt;nombre_directorio&gt; -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;</em>

바꾸다 디렉토리 이름 또는 소문자로 만들 디렉토리의 경로로. 예를 들어, Test라는 이미지에서 보여 드리는 예와 같지만 다른 이미지 일 수도 있습니다. 초보자를 위해 경로는 경로를 의미한다고 말하십시오. 경로가 현재 위치에 직접 포함되어 있지 않은 경우입니다. 예를 들어 ~ /에 있지만 / 집 / 사용자 / 다운로드에 대해 조치를 취하고 싶다면.

스크립트로 변환

촉진하기 위해 대문자 및 소문자 변환, 스크립트를 만들 수 있습니다. 그렇게하면 변환이 필요할 때마다 위의 명령을 입력 할 필요가 없습니다. 이것은 끊임없이 이름을 전달하는 사람들에게 매우 유용합니다. 또한 $ PATH 환경 변수의 경로에 넣으면 작업중인 동일한 디렉토리에 두거나 전체 경로를 지정할 필요없이 이름을 호출하여 실행할 수 있습니다.

변환기 스크립트를 만들기 위해 따라야하는 단계 위치 :

  • 첫 번째는 / bin 디렉토리로 이동 거기에 스크립트를 포함하고 다른 명령처럼 사용하려면 단순히 터미널에서 이름을 호출하십시오.
<br data-mce-bogus="1">

cd ~/bin<br data-mce-bogus="1">

  • 그때 나노로 생성, 또는 좋아하는 텍스트 편집기를 사용하여 스크립트가있는 파일을 원하는대로 호출합니다. 나는 그것을 mayutominu라고 부를 것입니다.
sudo nano mayutominu.sh

  • nano 안에 다음 텍스트를 붙여 넣어야합니다. 이 스크립트의 코드 bash에서 :
</pre><pre>#!/bin/bash
if [ -z $1 ];then
echo "Uso :$(basename $0) parent-directory"
exit 1
fi

all="$(find $1 -depth)"

for name in ${all}; do
new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')"
if [ "${name}" != "${new_name}" ]; then
[ ! -e "${new_name}" ] &amp;&amp; mv -T "${name}" "${new_name}"; echo "${name} was renamed to ${new_name}" || echo "${name} wasn't renamed!"
fi

done
exit 0</pre><pre>
  • 지금 파일 저장 Ctrl + O 키 조합을 사용하고 Ctrl + X로 종료합니다. 이미 스크립트로 만든 mayutominu.sh 파일이 있습니다. 다음은 허락하다 실행 횟수 :
sudo chmod +x mayutominu.sh
  • 마침내 얻었습니다 사용할 준비가. 어떻게 되나요? 음, 이전 섹션의 동일한 예제를 계속 진행하여 Test 디렉터리의 이름을 대문자에서 소문자로 변경하려면 다음을 수행 할 수 있습니다.
mayutominu Prueba
  • 알다시피, 지정해야하는 경우 전체 경로 또는 경로, 디렉토리가 현재 위치에없는 경우에도 가능합니다. 예를 들면 :
mayutominu /home/usuario/Descargas

도움이 되었기를 바랍니다. 질문이나 제안이 있다는 것을 알고 있습니다. 당신은 당신의 의견을 남길 수 있습니다...


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   yo

    데비안에서는 다음과 같이 말합니다.
    -bash : 예기치 않은 토큰`newline 근처의 구문 오류

    찾기 깊이 | xargs -n 2 이름 바꾸기 -v 's /(.*)\/(((^\/)*)/$ 1 \ / \ L $ 1 /'{} \;