iconv,enconv,enca,convmv,unix2dos,dos2unix文件格式转换,od/cut/wc/dd/diff/uniq/nice/du等命令

1.在Vim中查看文件编码
:set fileencoding
即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决 用Vim查看文件乱码 的问题,那么你可以在
~/.vim rc 文件中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动 识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
輸入 :set ff=unix 後,儲存該文件檔案即可。

2.vim文件编码转换
1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8

3.iconv文件编码转换:
iconv转换,比如将一个UTF-8 编码的文件转换成GBK编码
iconv -f GBK    -t UTF-8 file1    -o file2
iconv -f GB2312 -t UTF-8 test.txt -o test2.txt  
下载地址:
ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz 

4.enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
enconv -L zh_CN -x UTF-8 filename
enconv -L GB2312 -x UTF-8 test.txt

5.enca (如果你的系统中没有安装这个命令,可以用sudo yum install -y enca 安装 )查看文件编码
$ enca filename
filename: Universal transformation format 8 bits; UTF-8
CRLF line terminators
需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:
Unrecognized encoding

6.convmv文件名编码转换:
从Linux往windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致,所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。在Linux中专门提供了一种工具convmv进行文件名编码的转换,可以将文件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。
yum -y install convmv
下面看一下convmv的具体用法:
convmv -f 源编码 -t 新编码 [选项] 文件名
常用参数:
-r 递归处理子文件夹
--notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。
--list 显示所有支持的编码
--unescap 可以做一下转义,比如把%20变成空格
比如我们有一个utf8编码的文件名,转换成GBK编码,命令如下:
convmv -f UTF-8 -t GBK --notest utf8编码的文件名

这样转换以后"utf8编码的文件名"会被转换成GBK编码(只是文件名编码的转换,文件内容不会发生变化)

7.unix2dos,dos2unix转换:
使用od -c -t x1 abc.txt 查看文本文件里的特殊字符,DOS/Windows使用/r/n作为行尾符,Unix使用/n作为行尾符:
unix2dos < unix.txt > dos.txt 将Unix格式的纯文本文件转换成DOS/Windows格式的纯文本文件
dos2unix < dos.txt > unix.txt 将DOS/Windows格式的纯文本文件转换成Unix格式的纯文本文件 

如果你在openoffice里编辑,是完全兼容的,如果你在vi里 出现/M等符号,可以使用 tr 或 sed工具过滤掉

在Linux下正常换行的文字,到了Windows下后,不再换行。
在Windows下换行时,有两个字符:回车(/r)和换行(/n)。但在Linux下,只有一个换行(/n)
可使用unix2dos和dos2unix命令进行格式的转换:
参数:
-k  保持输出文件和输入文件的日期时间戳不变
-o file   默认模式 . 将file转换,并输出到file
-n  infile outfile 新模式. 转换infile, 并输出到outfile
1.       unix2dos
假设用vi新建一文本文件,输入123456
[[email protected] test]# ls -l a.txt
-rw-r--r-- 1 root root 7 Jan  7 21:31 a.txt
[[email protected] test]# hexdump -c a.txt
0000000   1   2   3   4   5   6  /n
0000007
[[email protected] test]# unix2dos -n a.txt b.txt
unix2dos: converting file a.txt to file b.txt in DOS format ...
[[email protected] test]# ls -l
total 8
-rw-r--r-- 1 root root 7 Jan  7 21:31 a.txt
-rw------- 1 root root 8 Jan  7 21:34 b.txt
[[email protected] test]# hexdump -c a.txt
0000000   1   2   3   4   5   6  /n
0000007
[[email protected] test]# hexdump -c b.txt
0000000   1   2   3   4   5   6  /r  /n
0000008
b.txt是转换后的DOS下的文件
2.       dos2unix
[[email protected] test]# dos2unix -n b.txt c.txt
dos2unix: converting file b.txt to file c.txt in UNIX format ...
[[email protected] test]# ls -l
total 12
-rw-r--r-- 1 root root 7 Jan  7 21:31 a.txt
-rw------- 1 root root 8 Jan  7 21:34 b.txt
-rw------- 1 root root 7 Jan  7 21:38 c.txt
[[email protected] test]# hexdump -c b.txt
0000000   1   2   3   4   5   6  /r  /n
0000008
[[email protected] test]# hexdump -c c.txt
0000000   1   2   3   4   5   6  /n
0000007
c.txt是转换后unix下的文本文件
od命令
用户通常使用od命令查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。
语法:od [选项] 文件…
命令中各选项的含义:
- A 指定地址基数,包括:
d 十进制
o 八进制(系统默认值)
x 十六进制
n 不打印位移值
- t 指定数据的显示格式,主要的参数有:
c ASCII字符或反斜杠序列
d 有符号十进制数
f 浮点数
o 八进制(系统默认值为02)
u 无符号十进制数
x 十六进制数
除了选项c以外的其他选项后面都可以跟一个十进制数n,指定每个显示值所包含的字节数。

说明:od命令系统默认的显示方式是八进制,这也是该命令的名称由来(Octal
Dump)。但这不是最有用的显示方式,用ASCII码和十六进制组合的方式能提供更有价值的信息输出。
 od 和 hexdump 显示文件内容或流的八进制、十六进制或其他编码的字节。它们对于访问或可视地检查文件中不能直接显示在终端上的字符很有用。
s-w8每行只用8个字节显示:
[[email protected] gx]$ od -Ad -tax1 -w8 a.txt
0000000   1   2   3   4   5   6  cr  nl
         31  32  33  34  35  36  0d  0a
0000008   a   b   c   d   e   f  cr  nl
         61  62  63  64  65  66  0d  0a
0000016   h   e   l   l   o   ,   w   o
         68  65  6c  6c  6f  2c  77  6f
0000024   r   l   d  cr  nl
         72  6c  64  0d  0a

-j2字符方式输出test内容,跳过前两个字节:
[[email protected] gx]$ od -Ad -tax1 -j2 a.txt
0000002   3   4   5   6  cr  nl   a   b   c   d   e   f  cr  nl
         33  34  35  36  0d  0a  61  62  63  64  65  66  0d  0a  6
0000018   l   l   o   ,   w   o   r   l   d  cr  nl
         6c  6c  6f  2c  77  6f  72  6c  64  0d  0a
0000029

-N2只显示两个字节,用字符方式显示:
[[email protected] gx]$ od -Ad -tax1 -N2 a.txt
0000000   1   2
         31  32
S
使用wc命令來進行文本內容統計:
指令名稱:wc
語法:wc [clw] file
說明:按照不同選項來統計字節數、字數、行數等。具體應用實例請自行 ‘man wc‘來查看。
例子:統計當前目錄下文件的個數,使用命令 ls -l | wc -l
ps:該指令的參數選項比較少,曾有人使用C語言實現了wc的功能,你也可以試試哦!
使用sort命令對文本內容進行排序:
指令名稱:sort
語法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
選項解釋:(更多說明請自行man sort)
-n:按照數目排序,number
-r:降序排序
-u:去除重複項

使用uniq命令對文本進行重複列的查看和刪除:
指令名稱:uniq
語法:uniq [選項] file
說明:顯示文本中行的某些特性。
選項解釋:(更多說明請自行 man uniq)
-c:在行首加上該行出現的次數,count的縮寫。
-d:只顯示重複行
-u:顯示不重複的行

使用diff命令對文本進行比較操作:
指令名稱:diff
語法:diff [選項] file1 file2
說明:diff是以逐行的方式,對兩個文件進行異同的操作。
選項解釋:(更多說明請自行 man diff)
-i:忽略大小寫的差別
-b:忽略空格的差別
使用du命令統計目錄或文件佔用磁盤空間大小:
指令名稱:du
語法:du [選項] 目錄或文件
選項解釋:(更多說明請自行 man du)
-k/m/g: 以kb、mb、gb顯示大小
du -S | sort -n 列出佔用空間最大的目錄
-sh:只查看指定的目錄,子目錄不查看
使用cut命令來提取想要的數據:
指令名稱:cut
語法:cut [選項] 文件
用法說明:
-b:截取字節
-c:截取字符
    cut -c1-15 表示截取從第一列到15列的內容
    cut -c1-4,8- 表示截取1到4列的內容,還有從第八列到最後的內容
-f:截取字段
    cut -f1 -d‘:‘ 表示截取第一列,是以:作為分隔符來截取的
    cut -f1-    -s:表示截取中間的分隔符為Tab鍵分割的文本
ps:截取中文的時候需要注意中文字符是作為2個英文字符組成的。

使用dd命令來測試磁盤速度、創建新文件:
指令名稱:dd
指令說明:從指定位置copy數據到指定輸出位置
應用實例:bs指定每次操作塊的大小,count指定操作的次數
創建2M大小的文件。
# dd if=/dev/zero of=/home/test/2M.txt bs=1024 count=2048
同樣的,測試磁盤讀寫速度
# dd if=/dev/zero of=/home/rwspeed.ret bs=1024 count=1048576
複製備份系統
# dd if=/home/test/my_fiter of=/其他設備 bs=512 count=256
ps:windows平臺上也存在著創建指定大小文件的命令,是 fsutil 。
使用nice命令來調整程序執行的優先級:
指令名稱:nice
指令說明:調整進程的優先級
應用實例:Linux進程的優先級是從 -20 ~ +20 的,數字越小,優先級越高,也就是佔用CPU的時間越多。
普通用戶只能降低程序的優先級,root用戶可以提高/降低進程的優先級。
# nice 查看默認的優先級
# nice ./a.out 默認執行,給a.out增加10個優先級,也就是分配更少的cpu時間。
# nice -n -20 a.out 為a.out執行最高的優先級
Unix/Linux上面的命令很多,這是無數黑客和全世界的程序員們的智慧結晶。
熟練的掌握和使用系統提供的命令,往往會事倍功半。這裡只列出了很少的一部份,
其它的命令可以參考該網站的介紹,或者是找本介紹詳細的書籍來看看。
时间: 2024-10-08 13:54:32

iconv,enconv,enca,convmv,unix2dos,dos2unix文件格式转换,od/cut/wc/dd/diff/uniq/nice/du等命令的相关文章

C#下搭建文件格式转换服务器

文件格式转换,相信很多涉及到office文档在线观看的都会需要,因为浏览器还不能完全支持直接打开office文档,所以很多情况下我们都需要将这些文档转换成flash能够播放的格式,但是另一个问题又来了,有些设备是不支持flash.而笔者经过三个版本的测试,终于有了比较好的一中解决方案.第一种很多人都知道,就是flashpaper但是不幸的是这款软件已经很老了,第二种就是利用office的com,但是缺点非常明显,需要很多代码才能完成很简单的事,并且还要经过很多配置,这其中的痛苦不言而喻.而第三种

Windows应用程序文件格式转换控件LEADTOOLS ePrint Professional

LEADTOOLS ePrint Professional控件是一个多功能一体化文件转换解决方案,它可帮助您将任何Windows应用程序中的文件或图像转换为150种类型的文件,其中包括:PDF, DOC, HTML, TXT, TIFF, JPG, GIF, PNG等等. ePrint Professional包含了两种转换模式 - ePrint printer和ePrint Workstation printer,为您提供不同水平的文件转换控制,您可以更加灵活的进行生产.ePrint prin

文件格式转换工具Print2Flash

Print2Flash是一款虚拟打印机组件,它可以从任意的可打印文档中创建交互式的Adobe Flash电影,并可在web上轻松发布.通过使用Print2Flash您可以轻松的将您的文档转换成真正的Adobe Flash格式,最好的保证您的内容将实际可见,与其他格式相比,它并不存在查看工具的安装问题.通过Print2Flash您可以使用任何应用程序来创建Flash电影,并可以轻松的整合到站点中——可用于超过98.8%的Internet的桌面应用程序.支持flash文档的应用程序用途很广,包括:文

使用textutil进行文件格式转换

Typorahtml, body {overflow-x: initial !important;}.CodeMirror { height: auto; } .CodeMirror-scroll { overflow-y: hidden; overflow-x: auto; } .CodeMirror-lines { padding: 4px 0px; } .CodeMirror pre { padding: 0px 4px; } .CodeMirror-scrollbar-filler, .

Word文件格式转换:Word如何转换成PDF格式

Word文件如何转换成PDF格式呢? 可能大部分人都知道PDF转换成word格式,毕竟这也是一种常用的转换.就word转换成PDF小编在这里告诉大家一种方法! 1.首先我们需要借助辅助工具进行文件格式转换,大家可以在百度浏览器上搜索迅捷PDF转换器,安装在我们所操作的电脑上. 2.鼠标双击运行打开PDF转换器,在左侧栏目中选择到其他文件转换PDF,栏目下有"word转换PDF",关于其它功能就先不介绍了.3.软件下面会看到一些按钮,在这点击"添加文件"在跳转出来的文

PDF文件格式转换攻略:PDF格式转换图片格式

关于PDF文件格式的转换大家有了解多少吗?就比如将PDF格式转换成图片格式,可能之前大家对于PDF件大家都有了解到,办公中我们经常遇到过.现在小编在这里教大家如何将PDF格式转换成图片格式,有兴趣的伙伴可以学着尝试一下! 1.操作之前可以将转换成图片格式的PDF文件另存到电脑桌面上,这样便于在后面的操作. 2.打开PDF转换器进入到操作的页面,在操作页面中可以选择到"PDF转成其他文件"栏目下的功能"文件转换图片",这一步完成之后,然后继续进行下一步操作.3.这时候

Mac OS X 系统下自带的文本文件格式转换工具iconv

1. utf-8 转 GBK的方法 在mac bash 中直接运行 iconv -f UTF-8 -t GBK test_utf8.txt > test_gbk.txt 举例:创建测试文件 echo "Bonnie 大数据|学姐笔记 果果学姐" > test_utf8.txt 转换命令 iconv -f UTF-8 -t GBK test_utf8.txt > test_gbk.txt 其他格式同理 2. 用iconv -l 查看该方法支持的编码格式 iconv -l

Caffe应用篇----文件格式转换

我们手中有的一般都是图片数据,jpg.bmp格式等,但caffe常使用的数据是db格式(leveldb/lmdb),因此首先我们要将自己数据转换成caffe可运行的格式文件.别捉鸡,caffe有给我们提供工具.根目录的tools文件下convert_imageset.cpp,经编译生成可执行文件,存放于./build/tools/文件,这个文件可帮我们将图片文件转换成db格式. 以分类任务为例,需要4个文件,train.train.txt.val.val.txt,train和val分别存放训练数

PCD文件格式转换脚本

在写一个重建算法的时候需要用到点坐标和法向的数据文件,于是向利用pcl中的法向计算模块来生成法向.输出后法向文件中包含曲率信息,但是这是不需要的.于是自己写了一个python小脚本实现格式转换. #--coding:utf-8-- import time import numpy as np from sys import argv script, input_file = argv input_data = open(input_file,"r") output_data = ope