需求描述:

  今天看了一个系统的临时文件,有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. js如何获取到本周的第一天和最后一天,本月的第一天和最后一天以及本季度的第一天和最后一天

    1.首先来一个自己公司项目的源码: 项目需求描述: 从20150712日开始, , 需求①:根据当前时间返回每一周 .周一~周日的日期(需返回2种格式 格式1:7月13日,格式2:2015-07-13 ...

  2. 是否要学点GUI编程

    传统GUI编程相对于Web前端编程来说,应该要复杂点.以MVC的要求来看,大多数现有系统代码可能都不达标.但在Web领域,通过框架的约束,是个人都知道要MVC. MVC有Classic MVC和Web ...

  3. 计算MySQL的内存峰值公式

      -- 计算MySQL的内存峰值公式,计算所有的连接满了的情况下:select (@@key_buffer_size + @@query_cache_size + @@tmp_table_size  ...

  4. Shell数组遍历

    #!/bin/bash emp_info=( aaa aaa@qq.com bbb bbb@qq.com ccc ccc@qq.com ddd ddd@qq.com eee eee@qq.com ) ...

  5. 【oneday_onepage】——Microsoft to acquire Nokia's mobile phone business

    Nokia will focus on network infrastructure, mapping and locations services and technology developmen ...

  6. 无法转换json问题 Error: Model.nodeDataArray value is not an instance of Array or NodeList or HTMLCollection

    var jsonobj=eval('('+t+')'); 使用eval 函数,讲后台json字符串转换为前台jsarray数组. 如果使用 ajax不会出现这种情况,因为会自动转换. 但是如果直接从后 ...

  7. TiKV 源码解析系列 - Raft 的优化

    本系列文章主要面向 TiKV 社区开发者,重点介绍 TiKV 的系统架构,源码结构,流程解析.目的是使得开发者阅读之后,能对 TiKV 项目有一个初步了解,更好的参与进入 TiKV 的开发中.本文是本 ...

  8. altium designer 快捷键

    2010年03月27日 环境快捷键 F1 访问文档库 (in context with object under cursor) Ctrl + O 访问选择的文档打开对话框 Ctrl + F4 关闭活 ...

  9. r语言 工作空间内的对象

    objects.size() objects() 脚本举例 #将以下代码粘贴到编辑器中,另存为regression.r文件. rate<-c(20, 22, 24, 26, 28, 30, 32 ...

  10. [技术选型] spring boot

    参考博客:http://jinnianshilongnian.iteye.com/blog/1997192 官网:http://projects.spring.io/spring-boot/ 7天学会 ...