xxd命令十六进制转换 dos2unix命令用法 split分割文件 cut按列分割文件
- 2015-08-30 17:23:00
- admin
- 原创 2009
一、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-