使用sed分割文件

运维过程中,会遇到文件很大的情况。那么可以使用sed进行文件分割。

name=$1
lines=`wc -l $name|awk '{print $1}'`
filename="log_"
index=0
count=1
app=5
while [ $count -lt $lines ]
do
	end=`expr $count - 1 + $app`
	sed -n "$count,${end}p" $name > ${filename}${index}.log
	count=`expr $count + $app`
	index=`expr $index + 1`
done

其中app是每个文件的行数。filename是要保存成的文件的前缀。

---------------------------------

其实,shell提供了一个分割文件的命令:split

使用如下:

命令中,指定了分割之后的文件,每个文件100行, 并且文件以'd'为前缀开始命名。

另外,split命令的b选项可以直接指定分割之后的文件大小。用法如下:

其中以d开头的那些文件是分割出来的小文件。

-------------------------------------------

awk中也有一个split函数。看这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值