linux 下处理大文件
时间:2015-01-19 13:25 来源:linux.it.net.cn 作者:it.net.cn
1、head tail more
2、先把大文件进行分割 split
split 参数:
-a, --suffix-length=N 指定输出文件名的后缀,默认为2个
-b, --bytes=SIZE 指定输出文件的字节数
-C, --line-bytes=SIZE 每一输出档中,单行的最大 byte 数
-d, --numeric-suffixes 使用数字代替字母做后缀
-l, --lines=NUMBER NUMBER 值为每一输出档的列数大小
例:
[root@10.10.90.97 sh]# split -b 1024 -a 3 push.sh
[root@10.10.90.97 sh]# ls
push.sh xaaa xaab xaac xaad xaae xaaf
使用-a参数指定文件后缀名的个数为3
[root@10.10.90.97 sh]# split -b 1024 push.sh push_
[root@10.10.90.97 sh]# ls
push_aa push_ab push_ac push_ad push_ae push_af push.sh
-b参数指定输出文件的大小为1024字节,push_指定输出文件的前缀代替默认的x
[root@10.10.90.97 sh]# split -b 1024 -d push.sh
[root@10.10.90.97 sh]# ls
push.sh x00 x01 x02 x03 x04 x05
-d参数设置输出文件的后缀为数字,默认的为字符
[root@10.10.90.97 sh]# split -l 5 push.sh
[root@10.10.90.97 sh]# ls
push.sh xaa xac xae xag xai xak xam xao xaq xas xau xaw xay xba
xab xad xaf xah xaj xal xan xap xar xat xav xax xaz
-l指定输出稳定的行数为5
附:合并文件命令(会自动按后缀排序连接):
cat small_files* > large_file
3、sed 按行进行处理
总行数:wc -l 文件名
sed -n '1,1024(文件总行数)p' filename;#依次输出文件的每一行
4、awk 一次读取文件中的一行
awk '{print;}' employee.txt #依次输出文件的每一行
(责任编辑:IT)
1、head tail more 2、先把大文件进行分割 split split 参数: -a, --suffix-length=N 指定输出文件名的后缀,默认为2个 -b, --bytes=SIZE 指定输出文件的字节数 -C, --line-bytes=SIZE 每一输出档中,单行的最大 byte 数 -d, --numeric-suffixes 使用数字代替字母做后缀 -l, --lines=NUMBER NUMBER 值为每一输出档的列数大小 例: [root@10.10.90.97 sh]# split -b 1024 -a 3 push.sh [root@10.10.90.97 sh]# ls push.sh xaaa xaab xaac xaad xaae xaaf 使用-a参数指定文件后缀名的个数为3 [root@10.10.90.97 sh]# split -b 1024 push.sh push_ [root@10.10.90.97 sh]# ls push_aa push_ab push_ac push_ad push_ae push_af push.sh -b参数指定输出文件的大小为1024字节,push_指定输出文件的前缀代替默认的x [root@10.10.90.97 sh]# split -b 1024 -d push.sh [root@10.10.90.97 sh]# ls push.sh x00 x01 x02 x03 x04 x05 -d参数设置输出文件的后缀为数字,默认的为字符 [root@10.10.90.97 sh]# split -l 5 push.sh [root@10.10.90.97 sh]# ls push.sh xaa xac xae xag xai xak xam xao xaq xas xau xaw xay xba xab xad xaf xah xaj xal xan xap xar xat xav xax xaz -l指定输出稳定的行数为5 附:合并文件命令(会自动按后缀排序连接): cat small_files* > large_file 3、sed 按行进行处理 总行数:wc -l 文件名 sed -n '1,1024(文件总行数)p' filename;#依次输出文件的每一行 4、awk 一次读取文件中的一行 awk '{print;}' employee.txt #依次输出文件的每一行
(责任编辑:IT) |