잠시만 기다려 주세요

     '검찰공화국, 부패공화국... 윤석열은 내려와라... 그리고 수사 받아라... 당신은 대통령을 할 자격이 없다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (16)  |  여러가지 팁 (1060)  |  추천 및 재미 (156)  |  자료실 (22)  |  
시사, 이슈, 칼럼, 평론, 비평 (615)  |  끄적거림 (136)  |  문예 창작 (716)  |  바람 따라 (75)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    리눅스 데스크탑

리눅스 데스크탑 - Find 명령만으로 모든 파일의 한글 문자 인코딩 변환하기, iconv
이 름 : 바다아이   |   조회수 : 8935         짧은 주소 : https://www.bada-ie.com/su/?541591809560
오전에 리눅스에서  수십 개 이상의 디렉터리와 백여 개 이상의 파일이 있는 곳에서
과거 EUC-KR 로 인코딩 되어 있던 파일을 UTF-8로 코드 변환을 해야할 필요가 있었습니다.
(혹은 윈도우의 코드페이지 947로 되어 있는 파일을 리눅스에 가지고 가서
 UTF-8로 변환할 경우도 마찬가지 입니다.)

물론 쉘 프로그램을 몇 줄 짜서 작업을 해도 되지만,
Linux, Mac 등이 기본으로 가지고 있는 find 명령을 이용해 보기로 했습니다.


find . -type f -exec iconv -f cp949 -t utf-8 {} -o {}.new \; -exec rm -rf {} \; -exec mv {}.new {} \; -exec echo -n "{} ==> change ==> " \; -exec file -bi {} \;


위의 한 줄로 가능합니다.

이제 설명해 보겠습니다.

find .
현재 디렉터리 . 에서 시작하여 모든 디렉터리 항목을 살피되,

-type f
디렉터리를 제외하고 실제 파일만 표시하며,

-execdir iconv -f euckr -t utf-8 {} -o {}.tmp \;
일단 -exec 나 -execdir 모두 그 다음에 나오는 명령을 수행하되 \; 에서 끝이 나도록 합니다.
또한 {} 은 현재 매칭된 파일이름이 치환됩니다.
-exec는 {} 치환 시 find에서 찾은 full path 혹은 상대 path의 경로가 포함되어 나타나며,
-execdir은 {} 치환 시 실제 해당 하위 디렉터리에 들어가서 패스명을 제외한 파일명만 치환됩니다.
따라서 위에 명령은 각 하위디렉터리를 들어가서 모든 파일에 대하여
euckr을 utf-8 로 iconv 명령을 사용하여 변환하되 그 결과는 해당 파일명에 .tmp 를 붙인 결과가 저장됩니다.

-execdir mv -f {}.tmp {} \;
이전 명령에서 변환한 결과를 .tmp 확장자를 추가해서 붙여 놓았으므로,
이 명령에서 다시 원본으로 되돌리는 역할을 수행합니다.


출처 : http://egloos.zum.com/mcchae/v/10938486
 
| |





      1 page / 8 page
번 호 카테고리 제 목 이름 조회수
230 리눅스 데스크탑 .... pacman -Suy ... 바다아이 207
229 리눅스 데스크탑 archlinux... Libalpm.so.14 error after updating to pacman 7 바다아이 196
228 리눅스 데스크탑 ... 바다아이 734
227 리눅스 데스크탑 .... 바다아이 661
226 리눅스 데스크탑 libreoffice hwp , ... 바다아이 729
225 리눅스 데스크탑 uefi .... . 바다아이 1228
224 리눅스 데스크탑 mkfs ... .. 바다아이 1107
223 리눅스 데스크탑 ... hd 4600.. Ubuntu Intel graphics driver install, 바다아이 2947
222 리눅스 데스크탑 virtualbox ... ntfs.sys ... virtualbox .. 바다아이 3125
221 리눅스 데스크탑 , 10 ... archlinux, window10 dual-boot 바다아이 3060
220 리눅스 데스크탑 , .... ... 바다아이 3974
219 리눅스 데스크탑 Installation from WineHQ's repo, debian wine ... 바다아이 4471
218 리눅스 데스크탑 xfce4 debian .... uim fcitx 바다아이 4911
217 리눅스 데스크탑 archlinux , .... 바다아이 3991
216 리눅스 데스크탑 firefox .... ... 바다아이 3953
215 리눅스 데스크탑 zip , unzip 바다아이 3634
214 리눅스 데스크탑 automouse autoclick xdotool 바다아이 4581
213 리눅스 데스크탑 xfce4 pacman .. 바다아이 4031
212 리눅스 데스크탑 debian intel-microcode [Firmware Bug]: TSC_DEADLINE disabled due to Errata - what should I do about this? 바다아이 4497
211 리눅스 데스크탑 debian xfce usb . pc 바다아이 4327
210 리눅스 데스크탑 .xprofile ... .xsessionrc ... 바다아이 4043
209 리눅스 데스크탑 debian 12 nvidia 바다아이 5925
208 리눅스 데스크탑 ..... 바다아이 3870
207 리눅스 데스크탑 xfce fcitx ... 바다아이 3998
206 리눅스 데스크탑 20.04 5 .... 바다아이 4417
205 리눅스 데스크탑 , , , , alias 바다아이 5606
204 리눅스 데스크탑 manjaro archlinux pacman PGP ..... 바다아이 4711
203 리눅스 데스크탑 yaourt yay aur.... 바다아이 4649
202 리눅스 데스크탑 mirror ... . 바다아이 6691
201 리눅스 데스크탑 20.04 leafpad , euc-kr utf-8 . 바다아이 6691
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.05821
to webmaster... gogo sea. gogo sea.