전체 폴더에서 html 파일을 txt로 변경


1

하위 폴더의 파일을 포함하여 모든 .html 파일을 .txt로 변경하는 mac 터미널 명령이 있습니까?



나는 그것을 얻었지만 어떻게 우리는 전체 폴더에 이것을합니까! 1000의 파일 이름을 입력하는 것은 논리적이지 않습니다.
Adrien

먼저 폴더로 CD를 넣으십시오. tbh, Quick File Renamer Lite 또는 십여 개의 프리웨어 대안 과 같은 것을 사용하여 지금까지 가능했을 것입니다
Tetsujin

1
요세미티에 포함 된 것을 잊었습니다. 수년간 타사 애드 인 서비스로 사용했습니다. 그럼 왜 사용하지 않습니까? 그것은 않습니다 터미널에서 할 수 있나요? 그렇지 않으면 확장명 변경 경고를 끄려면 텍스트 바꾸기> .html> .txt 파인더 환경 설정> 고급입니다.
Tetsujin

4
확장명 만 변경 하시겠습니까, 아니면 HTML 형식도 모두 제거 하시겠습니까?
nohillside

답변:


1

실제로 이름을 바꾸려는 것 같습니다. 폴더 내부에서 다음을 실행하십시오. 명령을 신뢰하지 않는 경우 명령을 수행 echo하기 전에 추가 mv하십시오.

find . -type f -name "*.html" -exec bash -c "mv {} \`dirname {}\`/\`basename -s.html {}\`.txt" \;

이것은 다음을 수행합니다.

  1. -type f현재 폴더 ( .)에서 이름이 ".html"( -name "*.html")로 끝나는 모든 파일 ( )을 찾습니다.
  2. 파일의 경로 ( dirname)를 찾아서 /".html"접미사 ( basename -s.html) 없이 슬래시 ( )와 원본 파일 이름을 추가하고 ".txt"접미사를 추가합니다.
  3. 그런 다음 원본 파일의 이름을 바꿉니다 ( mv).

실제로 명령의 일부로 프로그램 출력을 사용하기위한``표기법은 더 이상 사용되지 않습니다. $()대신 사용해야하지만 find백틱 의 경우 사용하기가 더 쉽습니다.


-1

이름을 바꾸다

brew를rename 사용하여 설치할 수있는 것을 사용할 수 있습니다 .

rename추출을 사용하여 설치하십시오 .brew install rename

다음을 사용하여 파일 이름을 바꾸십시오 rename.

rename -s .html .txt *

-1

for 루프

for file in *.html; do
   mv "${file}" "${file%.html}".txt
done

이 'for loop'는이를 수행하는 한 가지 방법 일뿐입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.