xxd命令十六进制转换 dos2unix命令用法 split分割文件 cut按列分割文件

2015-08-30 17:23:00
admin
原创 1834
摘要:xxd命令十六进制转换 dos2unix命令用法 split分割文件 cut按列分割文件

一、xxd命令十六进制转换

xxd命令功能:转换文件到十六进制,或者十六进制转换到原始文件。


参数说明:

-c cols,每行展示多少字节数据,默认16;

-g bytes,每组展示多少字节数据,默认2;

-l len,转换多少字节数据;

-i,展示为C语言格式;

-u,输出大写16进制;


16进制查看文件:

xxd -g4 file

0000000: 313a320a 20202020 20200a33 3a343a35  1:2.      .3:4:5
0000010: 0a0a363a 373a383a 390a               ..6:7:8:9.


16进制反转文件:

xxd file hexfile

xxd -r hexfile


16进制文本格式:

xxd -p file hexfile

xxd -r -p hexfile


vim中使用xxd命令:

%!xxd

%!xxd -r


二、dos2unix命令用法

将文件换行符\r\n转换为\n。

直接转换文件:

dos2unix filename

dos2unix -o filename

转换到新文件:

dos2unix -n filename newfile


三、split分割文件

命令格式:

split [OPTION]... [INPUT [PREFIX]]

参数说明:

-a, --suffix-length=N,文件后缀长度,默认2。

-d,使用数字后缀替换默认字母后缀。


按大小分割文件:

split -d -b 25 myfile myfile. 单个文件最大25字节,分割后文件前缀为"myfile."


按行数分割文件:

split -d -l 2 myfile myfile. 单个文件最大2行,分割后文件前缀为"myfile."


同时按大小和行分割文件:

1、行数据如果大于指定字节数则拆分;

2、本行加下一行大于指定字节数,在本行末尾拆分;

split -d -C 25 myfile myfile. 单个文件最大25字节,同时分割处为行末尾。


四、cut按列分割文件

截取每列的第1-3,5-7,8字节:

cat /etc/passwd | cut -b1-3,5-7,8


截取每列的第1-3,5-7,8字符:

cat /etc/passwd | cut -c1-3,5-7,8


截取所有列,输入分隔符为冒号,输出分割符为空格。输入分割符只能是单个字符,输出分隔符tab没法指定。

cat /etc/passwd | cut -d: --output-delimiter=" " -f1-

发表评论
评论通过审核之后才会显示。