久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Debian文本數(shù)據(jù)轉(zhuǎn)換工具

2024-02-01 216

Debian 是一種流行的 Linux 操作系統(tǒng),提供了豐富的文本數(shù)據(jù)轉(zhuǎn)換工具。在 Debian 中,我們可以使用 iconv 命令來完成文本編碼轉(zhuǎn)換、文件名轉(zhuǎn)換等操作,使用編輯器和文本處理工具來進(jìn)行純文本格式化、提取等操作。

文本數(shù)據(jù)轉(zhuǎn)化工具列表:

軟件包 流行度 大小 關(guān)鍵詞 說明
libc6 V:925, I:999 12987 字符集 使用 iconv(1) 的不同語言環(huán)境(locale)之間的文本編碼轉(zhuǎn)換器 (基礎(chǔ)的)
recode V:2, I:19 601 字符集+換行 不同語言環(huán)境(locale)之間的文本編碼轉(zhuǎn)換器(多功能的,更多別名和特性)
konwert V:1, I:48 134 字符集 不同語言環(huán)境(locale)之間的文本編碼轉(zhuǎn)換器(高檔的)
nkf V:0, I:9 360 字符集 日語字符集翻譯
tcs V:0, I:0 518 字符集 字符集翻譯
unaccent V:0, I:0 35 字符集 代替重音字符,使用和它們相當(dāng)?shù)姆侵匾糇址?/td>
tofrodos V:1, I:18 51 換行 在 DOS 和 Unix 之間的文本格式轉(zhuǎn)換: fromdos(1) 和 todos(1)
macutils V:0, I:0 312 換行 在 Macintosh 和 Unix 之間的文本格式轉(zhuǎn)換: frommac(1) 和 tomac(1)

一、iconv命令

iconv(1) 是 libc6 軟件包的一部分并且它可以在類 Unix 的系統(tǒng)上轉(zhuǎn)換字符的編碼。能夠通過如下的命令用 iconv(1) 來轉(zhuǎn)換文本文件的編碼。

$ iconv -f encoding1 -t encoding2 input.txt >output.txt

編碼值是大小寫不敏感的,且會在匹配時忽略“-”和“_”??梢允褂谩癷conv -l”命令檢查支持的編碼。

編碼值和用法的列表:

編碼值 用法
ASCII 美國信息交換標(biāo)準(zhǔn)代碼,7位代碼不帶重音符號
UTF-8 用于所有現(xiàn)代操作系統(tǒng)的多語言標(biāo)準(zhǔn)
ISO-8859-1 舊的西歐語言標(biāo)準(zhǔn),ASCII + 重音符號
ISO-8859-2 舊的東歐語言標(biāo)準(zhǔn),ASCII + 重音符號
ISO-8859-15 舊的帶有歐元符號的西歐語言標(biāo)準(zhǔn)(ISO-8859-1)
CP850 code page 850,用于西歐語言的微軟 DOS 的帶有圖形的字符,ISO-8859-1 的變體
CP932 code page 932, 日語 Microsoft Windows 的 Shift-JIS 變體
CP936 code page 936,用于簡體中文的微軟操作系統(tǒng)風(fēng)格的 GB2312,GBK 或者 GB18030 的變體
CP949 code page 949,用于韓語的微軟操作系統(tǒng)風(fēng)格的 EUC-KR 或者 Unified Hangul Code 的變體
CP950 code page 950,用于繁體中文的微軟操作系統(tǒng)風(fēng)格的 Big5 的變體
CP1251 code page 1251,用于西里爾字母的微軟操作系統(tǒng)風(fēng)格的編碼
CP1252 code page 1252,用于西歐語言的微軟操作系統(tǒng)風(fēng)格的 ISO-8859-15 的變體
KOI8-R 用于西里爾字母的舊俄語 UNIX 標(biāo)準(zhǔn)
ISO-2022-JP 日文郵件的標(biāo)準(zhǔn)編碼,只使用 7 位字節(jié)
eucJP 老的日文 UNIX 標(biāo)準(zhǔn)的 8 位字節(jié),和 Shift-JIS 完全不同
Shift-JIS 日文 JIS X 0208

像 ASCII 和 ISO-8859 這樣適用于單字節(jié)的字符集,字符編碼和字符集幾乎指的是同一件事情。對于多字符的字符集,比如說,用于日文的 JIS X 0213,或用于差不多所有語言的 Universal Character Set (UCS, Unicode, ISO-10646-1) , 有多種編碼方案來序列化它們的字節(jié)數(shù)據(jù)。

  • 日文的 EUC 和 ISO/IEC 2022 (也被稱為 JIS X 0202);
  • Unicode 的 UTF-8、UTF-16/UCS-2 和 UTF-32/UCS-4 編碼。

對于以上這些,字符集和字符編碼之間有著明顯的區(qū)別;而對某些計算機(jī)廠家而言,code page 是作為字符編碼表的同義詞來使用。

請注意,大部分編碼系統(tǒng)共享 ASCII 的 7 位字符的同樣編碼,但也有一些列外。如果從通常所說的 shift-JIS 編碼格式,轉(zhuǎn)化老的日文 C 語言程序和 URL 數(shù)據(jù),到 UTF-8 格式,需要使用 “CP932” 作為編碼名來代替 “shift-JIS” 來得到期望的結(jié)果: 0x5C → “\” 和 0x7E → “~”.否則,這些將被轉(zhuǎn)化為錯誤的字符。

recode(1) 也可能被使用并且不僅僅是 iconv(1),fromdos(1),todos(1),frommac(1) 和 tomac(1) 功能的結(jié)合。想要獲得更多信息,請參見 “info recode”。

二、檢查文件編碼

能夠通過如下命令用 iconv(1) 來檢查一個文本文件是不是用 UTF-8 編碼的。

$ iconv -f utf8 -t utf8 input.txt >/dev/null || echo "non-UTF-8 found"

在上面的例子中使用 “–verbose” 參數(shù)來找到第一個 non-UTF-8 字符。

三、轉(zhuǎn)換文件名

這里是一個示例腳步,在同一目錄下,將在老的操作系統(tǒng)系統(tǒng)下創(chuàng)建的文件名編碼,轉(zhuǎn)換為現(xiàn)代 UTF-8.

#!/bin/sh
ENCDN=iso-8859-1
for x in *;
do
mv "$x" "$(echo "$x" | iconv -f $ENCDN -t utf-8)"
done

四、換行符轉(zhuǎn)換

文本文件的格式,特別是行尾(換行符)編碼,有平臺獨立性。

不同平臺的換行符樣式列表:

平臺 換行符編碼 控制碼 十進(jìn)制 16 進(jìn)制
Debian (unix) LF ^J 10 0A
MSDOS 和 Windows CR-LF ^M^J 13 10 0D 0A
蘋果的 Macintosh CR ^M 13 0D

換行符轉(zhuǎn)換程序, fromdos(1), todos(1), frommac(1), 和 tomac(1), 是相當(dāng)方便. recode(1) 也是有用的。

注意:

  • 在 Debian 系統(tǒng)上的一些數(shù)據(jù),如 python-moinmoin 軟件包的 wiki 頁面數(shù)據(jù),使用 MSDOS 式樣的 CR-LF 作為換行符編碼。所以,上面的規(guī)則僅僅是一個通用規(guī)則;
  • 大部分編輯器 (比如: vim, emacs, gedit, …) 能夠透明處理 MSDOS 式樣的換行符文件;
  • 對于混合 MSDOS 和 Unix 式樣的文件,統(tǒng)一到 MSDOS 換行符式樣,使用 “sed -e ‘/\r$/!s/$/\r/'” 代替 todos(1) 比較好。 (例如,在使用 diff3(1)移植兩個 MSDOS 式樣的文件后.)這是因為 todos 給所有的行增加 CR。

五、TAB轉(zhuǎn)換

這里有一些轉(zhuǎn)換 TAB 代碼的專業(yè)工具。

bsdmainutils 和 coreutils 包中的用于轉(zhuǎn)換 TAB 的命令列表:

功能 bsdmainutils coreutils
把制表符擴(kuò)展成空格 col -x expand
將空格轉(zhuǎn)換為制表符(unexpand) col -h unexpand

indent 包中的 indent(1) 命令能夠重新格式化 C 程序中的空格。例如 vim 和 emacs 這樣的編輯軟件可以被用來擴(kuò)展 TAB。就拿 vim 來說,能夠按順序輸入 “:set expandtab” 和 “:%retab” 命令來擴(kuò)展 TAB。也可以按順序輸入 :%set noexpandtab” 和 “:%retab” 命令來復(fù)原。

六、自動轉(zhuǎn)換編輯器

像 vim 這樣的現(xiàn)代智能編輯器軟件是相當(dāng)聰明的并且能夠處理任何編碼系統(tǒng)以及任何文件格式。應(yīng)該在支持 UTF-8 編碼的控制臺上并在 UTF-8 環(huán)境下使用這些編輯器來獲得最好的兼容性。

以 latin1(iso-8859-1)編碼存儲的舊西歐語言的 Unix 文本文件,“u-file.txt”,能通過如下所示的用 vim 輕易的編輯。

$ vim u-file.txt

這是可能的因為 vim 的文件編碼自動檢測機(jī)制先假定文件是 UTF-8 編碼,如果失敗了,則假定它是 latin1 編碼。

以 latin2(iso-8859-2) 編碼存儲的舊波蘭語的 Unix 文本文件,“pu-file.txt”,能通過如下所示的用 vim 編輯。

$ vim '+e ++enc=latin2 pu-file.txt'

以 eucJP 編碼存儲的舊日語的 Unix 文本文件,”ju-file.txt”,能通過如下所示的用 vim 編輯。

$ vim '+e ++enc=eucJP ju-file.txt'

以所謂的 shift-JIS 編碼 (更確切的說法是:CP932) 存儲的舊日語 MS-Windows 文本文件,”jw-file.txt”,能通過如下所示的用 vim 編輯。

$ vim '+e ++enc=CP932 ++ff=dos jw-file.txt'

當(dāng)一個文件用 vim 打開的時候帶有 “++enc” 和 “++ff” 選項,在 Vim 命令行輸入 “:w” 命令會以原格式存儲文件并且會覆蓋原文件。也可以在 Vim 命令行指定存儲文件名及其格式,例如,”:w ++enc=utf8 new.txt”。

七、提取純文本

如下所示讀入 web 頁面并把它轉(zhuǎn)化成文本文件。當(dāng)從 Web 中拷貝配置或者是在 web 頁面中應(yīng)用類似 grep(1) 的基礎(chǔ) Unix 文本工具時,以下命令是非常有用的。

$ w3m -dump https://www.remote-site.com/help-info.html >textfile

同樣,可以使用如下所示的工具從其他格式提取純文本數(shù)據(jù)。

用于提取純文本數(shù)據(jù)的工具列表:

軟件包 流行度 大小 關(guān)鍵詞 功能
w3m V:14, I:188 2837 html→text 用 “w3m -dump” 命令把 HTML 轉(zhuǎn)化為文本的轉(zhuǎn)換器
html2text V:3, I:53 274 html→text 高級的 HTML 到文本文件的轉(zhuǎn)換器 (ISO8859-1)
lynx V:24, I:329 1948 html→text 用 “lynx -dump” 命令把 HTML 轉(zhuǎn)化為文本的轉(zhuǎn)化器
elinks V:3, I:21 1654 html→text 用 “elinks -dump” 命令把 HTML 轉(zhuǎn)化為文本的轉(zhuǎn)換器
links V:3, I:29 2314 html→text 用 “links -dump” 命令把 HTML 轉(zhuǎn)化為文本的轉(zhuǎn)換器
links2 V:1, I:12 5492 html→text 用 “links2 -dump” 命令把 HTML 轉(zhuǎn)化為文本的轉(zhuǎn)換器
catdoc V:14, I:154 686 MSWord→text,TeX 轉(zhuǎn)化 MSWord 文件到純文本或 TeX文件
antiword V:1, I:8 589 MSWord→text,ps 轉(zhuǎn)化 MSWord 文件到純文本或 ps 文件
unhtml V:0, I:0 40 html→text 從一個 HTML 文件里面刪除標(biāo)記標(biāo)簽
odt2txt V:2, I:39 60 odt→text 從開放文檔格式到文本格式的轉(zhuǎn)化器

八、高亮并格式化數(shù)據(jù)

可以通過如下所示的來高亮并格式化純文本數(shù)據(jù)。

高亮純文本數(shù)據(jù)的工具列表:

軟件包 流行度 大小 關(guān)鍵詞 說明
vim-runtime V:18, I:399 36525 高亮 用 “:source $VIMRUNTIME/syntax/html.vim” Vim 宏命令轉(zhuǎn)化源代碼到 HTML
cxref V:0, I:0 1190 c→html 從 C 程序到 latex 和 HTML 的轉(zhuǎn)換器(C語言)
src2tex V:0, I:0 622 高亮 轉(zhuǎn)換許多源代碼到 TeX(C語言)
source-highlight V:0, I:5 2115 高亮 轉(zhuǎn)換源代碼到帶有高亮顯示的 HTML, XHTML, LaTeX, Texinfo, ANSI 顏色轉(zhuǎn)義序列和 DocBook 文件 (C++)
highlight V:0, I:5 1373 高亮 轉(zhuǎn)化許多源代碼到帶有高亮顯示的 HTML, XHTML, RTF, LaTeX, TeX or XSL-FO 文件。(C++)
grc V:0, I:5 208 text→有顏色的 用于任何文本的通用顏色生成器 (Python)
pandoc V:8, I:45 194495 text→any 通用標(biāo)記轉(zhuǎn)化器 (Haskell)
python3-docutils V:13, I:51 1804 text→any 重構(gòu)文本文檔到 XML (Python)
markdown V:0, I:9 58 text→html Markdown 文本文檔到 (X)HTML (Perl)
asciidoctor V:0, I:7 98 text→any AsciiDoc 文本文檔格式化到 XML/HTML (Ruby)
python3-sphinx V:6, I:23 2755 text→any 基于文檔發(fā)布系統(tǒng) (Python)重構(gòu)文本
hugo V:0, I:5 69551 text→html 基于 Markdown 的靜態(tài)站點發(fā)布系統(tǒng)(Go)
  • 廣告合作

  • QQ群號:4114653

溫馨提示:
1、本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。郵箱:2942802716#qq.com(#改為@)。 2、本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)裁,轉(zhuǎn)載請注明出處“站長百科”和原文地址。
Debian文本數(shù)據(jù)轉(zhuǎn)換工具
上一篇: Debian配置Git