当前位置:首页 » Linux技术知识

linux 文件行处理命令

2012-10-30 15:45 本站整理 浏览(20)

linux下的文件类型

LINUX中的文件类型
d  目录文件。
l  符号链接(指向另一个文件,类似于瘟下的快捷方式)。
s  套接字文件。
b  块设备文件,二进制文件。
c  字符设备文件。
p  命名管道文件。
-  普通文件,或更准确地说,不属于以上几种类型的文件。

重点注意的是普通文件,在查看文件类型的时候使用file命令和ll命令结合来查看文件的类型

设备文件分为Block Device Driver和Character Device Drive两类。Character Device Drive又被称为字符设备或裸设备raw devices; Block Device Driver通常成为块设备。而Block Device Driver是以固定大小长度来传送转移资料 ;Character Device Driver是以不定长度的字元传送资料 。且所连接的Devices也有所不同,Block Device大致是可以随机存取(Random Access)资料的设备,如硬碟机或光碟机;而Character Device刚好相反,依循先後顺序存取资料的设备,如印表机 、终端机等皆是。

1.字符设备只能以字节为最小单位访问,而块设备以块为单位访问,例如512字节,1024字节等

2.块设备可以随机访问,但是字符设备不可以

3.字符和块没有访问量大小的限制,块也可以以字节为单位来访问

linux 如何获取文件中间的某些行
【一】从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000
【二】显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
*注意两种方法的顺序
分解:
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
【三】用sed命令
sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。


split 命令(大文件按行数平均切分)

【一】例如将一个文件access.log均分成6个前缀为
LOG_ 的若干小文件,后缀为系数形式,且后缀为2位数字形式
先利用 wc -l access.log 读出 BLM.txt 文件一共有多少行,
例如输出结果为112896, 运行bc计算
112896/6
得到18816
再利用 split 命令:
split -l 18816 access.log -d -a 2 LOG_
注意:-l 后面跟行数,-d 说明系数不是字母而是数字(默认字母),-a 指明后缀系数的长度;
【二】要合并文件,使用命令:cat LOG_*
去除行首的空格
【一】如果确认只是空格:
1
sed
's/^
 *//'
infile
【二】如果判断不清行首是空格还是制表符的话, 还可以用这个:
1
sed
's/^[[:space:]]*//'
infile