Linux下批量替換UTF 8檔案的關鍵字

2021-06-05 16:10:22 字數 575 閱讀 8097

本方法相對比較繁瑣,有待以後總結更簡單的方案

1、判斷檔案的編碼

file -i filename

2、把utf-8的檔案轉為gbk檔案

(1) 備份目錄

find . -type d -exec mkdir -p ../gbk/{} \;

(2) find . -type f -exec iconv -f utf-8 -t  gbk {} -o ../gbk/{} \;

3、批量替換檔案的關鍵字

(1)進入目錄 gbk

(2) 查詢並替換檔案關鍵字

find . -type f -print|xargs sed -i 's/待替換的字串/替換後的字串/g'

4、把gbk的檔案轉為utf-8檔案

(1) 備份目錄

find . -type d -exec mkdir -p ../utf/{} \;

(2)遞迴轉換

find . -type f -exec iconv -f gbk -t  utf-8 {} -o ../utf/{} \;

5、utf目錄下便是替換後的檔案

參考資料:

Windows下列印utf 8檔案

估計入門時都會遇到的。我是在windows下用的python25自帶的idle編輯執行的,發現執行指令碼得出的結果有一些中文顯示是亂碼,但有一些是 正常的。百思不得其解。首先檢視了一下原始檔的編碼格式,是utf 8。經過搜尋再搜尋,除錯再除錯,也換了幾個編譯器,發現比idle還糟糕 可能需要 進行e...

Eclipse GBK批量轉UTF 8外掛程式

最近需要把android專案轉android studio,由於之前是eclipse開發,而且坑爹的是編碼還是gbk的,轉到android studio中文都是亂碼,如果乙個檔案乙個檔案ctrl c的話,想想就累,幾經google,發現乙個很好的eclipse外掛程式,在此感謝一下此外掛程式的作者。...

批量清除utf 8檔案的bom頭

問題引發 utf8編碼網頁包含檔案時前面有空行的解決 php if isset get dir else auto 1 checkdir basedir function checkdir basedir else closedir dh function checkbom filename els...