使用sed分割文件

来源:互联网 发布:网络连接出现感叹号 编辑:程序博客网 时间:2024/05/02 19:10

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

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

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

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

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

使用如下:

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

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

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

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

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

原创粉丝点击