需求描述:

  今天看了一个系统的临时文件,有5.6G的大小,这个文件也没有用了,想要将大部分的文件都删除掉.

  在此记录下删除的过程.删除前n行的记录.

操作过程:

对于数据量比较大的情况(本例5800万)

1.通过tail命令,将文件尾部的n行数据重定向到新的文件中

tail -n  out.tmp > out.tmp.bak

2.然后删除旧的文件,将新的文件修改为原名字

rm out.tmp
mv out.tmp.bak out.tmp

备注:这样的话文件out.tmp尾部的30000行就保存下来,之前的行就删除掉了.在我的测试环境中,out.tmp中的记录大概5800万+

对于数据比较少的情况

1.查看文件中数据,确定要删除的数据

将第5行后面的都删除掉,也是通过-n来重定向

2.tail -n +k来实现该功能

[root@testvm01 ~]# wc -l install.log
install.log
[root@testvm01 ~]# tail -n + install.log > install.log.tmp #将第5行之后的内容重定向到另外一个临时文件中
[root@testvm01 ~]# rm -f install.log
[root@testvm01 ~]# mv install.log.tmp install.log
[root@testvm01 ~]# head install.log #第5行之前的都已经不在了,采用了另外的方法实现了删除的功能.
Installing tzdata-2014g-.el6.noarch
Installing basesystem-10.0-.el6.noarch
Installing ncurses-base-5.7-3.20090208.el6.x86_64
Installing glibc-common-2.12-1.149.el6.x86_64
Installing nss-softokn-freebl-3.14.-.el6.x86_64
Installing glibc-2.12-1.149.el6.x86_64
Installing ncurses-libs-5.7-3.20090208.el6.x86_64
Installing bash-4.1.-.el6.x86_64
Installing libattr-2.4.-.el6.x86_64
Installing libcap-2.16-5.5.el6.x86_64
[root@testvm01 ~]# wc -l install.log
install.log

小结:同样可以利用head命令来删除文件的尾部的n行.

文档创建时间:2018年8月15日15:34:55

linux环境中如何删除文件的前n行?的更多相关文章

  1. 在linux环境中如何删除文件

    使用rm -rf 目录名字 命令即可 -r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思 eg 删除文件夹实例:rm -rf /var/log/httpd/acc ...

  2. linux删除文件的前n行

    需求描述: 今天看了一个系统的临时文件,有5.6G的大小,这个文件也没有用了,想要将大部分的文件都删除掉. 在此记录下删除的过程.删除前n行的记录. 操作过程: 对于数据量比较大的情况(本例5800万 ...

  3. 【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法

    问题描述 在PHP项目部署在App Service后,上传文件如果大于1MB就会遇见 413 Request Entity Too Large 的问题. 问题解决 目前这个问题,首先需要分析应用所在的 ...

  4. [软件测试]Linux环境中简单清爽的Google Test (GTest)测试环境搭建(初级使用)

    本文将介绍单元测试工具google test(GTEST)在linux操作系统中测试环境的搭建方法.本文属于google test使用的基础教程.在linux中使用google test之前,需要对如 ...

  5. 【改造Linux命令之rm - 删除文件或目录-】

    用途说明 rm命令是常用的命令,用来删除文件或目录(remove files or directories).它也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比 ...

  6. Linux环境中Openfire安装指南

    Linux环境中Openfire安装指南 安装环境: 安装软件:Openfire 4_1_0 http://download.igniterealtime.org/openfire/openfire_ ...

  7. 理解 Linux 网络栈(2):非虚拟化Linux 环境中的 Segmentation Offloading 技术

    本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + Vx ...

  8. linux环境中通过/dev/urandom设备产生随机密码

    需求说明: 今天在调试SVN的时候,需要创建用户的随机密码,想了下,在linux环境中是否能够生成呢,就搜索了下, 然后结合看到的帖子,分析一个可以生成密码的命令,在此记录下. 操作过程: 1.通过/ ...

  9. linux环境中,多个命令之间,通过&& ||执行,命令之间执行的逻辑是什么?

    需求描述: 最近在写一个脚本的时候,要判断一个文件是否存在,有怎么样,没有就创建,这个时候 看到了一个test 结合 || 或者 &&的写法,就查看了下资料记录下是怎么个玩法. 操作过 ...

随机推荐

  1. JMeter (3) —— JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial)

    JMeter (3) -- JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial) 主要内容 JMeter录制脚本并进行压力测试用户登陆场景,并以CAS SSO单点 ...

  2. 让jQuery的ajaxFileUpload插件支持onchange事件

    ajaxFileUpload插件只能上传一次的BUG发现还不少人遇到,很不幸我也遇到的,使用后发现里面的坑还不少,在createUploadForm方法中有句 var newElement = jQu ...

  3. Linux查看cpu个数

    [root@lidongbo~]# cat /proc/cpuinfo processor       : 0 vendor_id       : GenuineIntel cpu family    ...

  4. Extjs4.x Ext.tree.Panel 遍历当前节点下的所有子节点

    Ext.define('WMS.controller.Org', { extend: 'Ext.app.Controller', stores: ['OrgUser', 'OrgTree'], mod ...

  5. Python - 连接msql数据库

    可能出现的异常:python中出现SyntaxError: Non-UTF-8 code 解决方法 刚开始一直有用idle写代码,今天用了一下PyDev结果发现中文不支持,在网上搜了一下,结果发现解决 ...

  6. 理解ArrayList与LinkedList的区别

    一.先来看看ArrayList与LinkedList 在JDK中所在的位置 从图中可以看出,ArrayList与LinkedList都是List接口的实现类,因此都实现了List的所有未实现的方法,只 ...

  7. php 根据身份证获取出身地址

    <?php /**根据身份证算出地址****/ class addr{ /**获取省***/ public function get_shenfen($id){ //截取前两位数 $index ...

  8. javascript 学习记录

    关于牛B的Jquery源头 (function(){ //这里省略jQuery所有实现 })(); :无论你怎么去定义你的函数 JS解释器都会把它翻译成一个 Function对象 :那什么是Funct ...

  9. android wifi RSSI达到阈值自动断开

    设置wifi的RSSI达到阈值之后自动断开. wifi状态改变,会更新状态栏,在状态栏中更改. --- a/packages/SystemUI/src/com/android/systemui/sta ...

  10. Unity下Iso和Persp两种模式的区别

    Iso模式 平行视野.在Iso模式下,不论物体距离摄像头远近都给人的感觉是一样大的. Persp模式 透视视野.在persp模式下,物体在scene界面上所呈现的画面是给人一种距离摄像头近的物体显示的 ...