在网上看到一个很巧妙的方法,可以删除文件的首行、尾行和首尾两行,原理和操作记录如下
利用awk按行遍历,依次执行body的特点, 如下面命令
awk 'NR>1 {print line} {line=$0}'   作用是去掉最后一行。
首轮先输出line(此时为空值,打印空行,所以用 NR>1 跳过此输出),再把首行赋值给line变量,
然后在第二轮输出了line(此时为第一行内容),循环到最后一行时,输出为倒数第二行内容。
最后把最后一行赋值给line,但循环已完,所以最后一行不会输出,即去掉最后一行。
按上面原理
如果想去掉首行,就设置 NR>2
如果想保留最后一行,可以在END输出line即可

删除首行

[root@rabbit-api-001 test]# cat a.txt # 原文件内容,共4行
a1
a2
a3
a4
[root@rabbit-api-001 test]# awk 'NR>2{print line}{line=$0} END{print line}' a.txt
a2
a3
a4

删除尾行

[root@rabbit-api-001 test]# awk 'NR>1{print line}{line=$0}' a.txt
a1
a2
a3

删除首尾两行

[root@rabbit-api-001 test]# awk 'NR>2{print line}{line=$0}' a.txt
a2
a3

LINUX-AWK-删除首行、删除尾行、删除首尾两行相关推荐

  1. 冻结拆分_冻结首行与尾行?还有能这种操作

    在日常工作中,当表格数据很多时,经常一拖动,就不知道数据表达的是什么了,如下图,本人瞎编的水浒人物4大能力评分表.向右拖太多,就看不到人名了,向下拖太多,就不知道是哪项能力了. 其实很简单,我们来几个 ...

  2. linux awk用法(主要为命令行)

    简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...

  3. linux sed去除重复,删除文本中的重复行(sort+uniq/awk/sed)

    在进行文本处理的时候,我们经常遇到要删除重复行的情况.那怎么解决呢? 下面就是三种常见方法? 第一,用sort+uniq,注意,单纯uniq是不行的. shell> sort file | un ...

  4. shell 删除文本中的重复行(sort+uniq/awk/sed) (方法=效率啊)

    From: http://churuimin425.blog.163.com/blog/static/341298772012230112956712/ 删除文本中的重复行(sort+uniq/awk ...

  5. linux 下vim中关于删除某段,某行,或全部删除的命令

    1,先打开某个文件: vim   filename 2,转到文件结尾:在命令模式输入 G 3,转到10行:在命令模式输入 10G 4,删除所有内容:先用G 转到文件尾,然后使用下面命令:" ...

  6. sed删除代码空行和删去行尾空白

    删除空行的方法有很多种,这里只是为了比较sed命令删除空行及行尾空白 1.删除空行 sed -i '/^$/d' 解释: -i:直接修改文件内容. ^:行首 KaTeX parse error: Ex ...

  7. 【Linux脚本-sed命令在文本首行和尾行插入空行】

    @[TOC]Linux脚本-sed命令在文本首行和尾行插入空行 Linux脚本-sed命令在文本首行和尾行插入空行 演示如下: 首先创建需要操作的文本文件 //create a file contai ...

  8. linux vi编辑器删除多行,vim编辑器如何删除一行或者多行内容

    导读 如何从Vim中删除行?如何删除多行?本文介绍在Vim编辑器中删除行的不同方法 安装vim #在Ubuntu/Debian中的安装方式 $ sudo apt install vim #在RHEL/ ...

  9. Linux命令行太长或删除整行

    Linux命令行太长或删除整行 Linux命令行太长 终端删除整行 Linux命令行太长 1.范例:如果指令串太长的话,如何使用两行来输出? [dmtsai@study ~]$ cp /var/spo ...

  10. c语言删除行尾的空格,新人提问:如何将输出时每行最后一个空格删除

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如何将每行最后一个空格删除,使矩阵只有数字间有空格,没有多余空格? #include #include int main() { int i,j,k,m, ...

最新文章

  1. 【组队学习】曹志宾:基于Python的会员数据化运营
  2. 哥们,你真以为你会做这道JVM面试题?
  3. Linux别名的创建删除【alias】和【unalias】
  4. linux realvnc教程,Linux下RealVNC Enterprise 的安装和使用
  5. [一文一命令]find命令详解
  6. 使用PowerShell配置Microsoft Teams
  7. unbuntu 启动任务脚本_Ubuntu下服务启动脚本编写
  8. 蓝宝石会升级bios吗_别再听别人忽悠!升级BIOS的三大误区
  9. 《Android游戏开发详解》——第2章,第2.13节调用对象的行为
  10. OpenCV 直方图均衡化 equalizeHist
  11. java 判断是否为车牌_java车牌检测识别库
  12. 钢结构节点板计算小程序_节点应用程序目录结构
  13. python中文文本分类
  14. 揭开牙病之谜 与牙医说再见转
  15. wind river -diab
  16. python局域网大文件_利用Python+pyftpdlib实现在局域网中互传文件
  17. 在Excel中批量生成条形码
  18. 强连通分量 Kosaraju科萨拉朱算法
  19. centos7 mysql启动后端口,centos安装mysql后3306端口不通_网站服务器运行维护
  20. 多多客支持微信公众号,正式开放公测!

热门文章

  1. NetCore mysql Connection open error . The given key ‘25971‘ was not present in the dictionary
  2. 【杂记】Windows首页挟持病毒查杀过程记录
  3. 洛谷 1571 眼红的Medusa
  4. VMware 虚拟机通过 GNS3 路由器联网
  5. python获取12306火车票_Python脚本实现12306火车票查询系统
  6. 计算机属于机器人相关专业,人工智能属于什么学科门类
  7. 一款灵活可配置的开源监控平台
  8. 逻辑设计基础_第2周-布尔代数及表达式化简
  9. 最新 2022高露洁AI面试真题题库
  10. 龙芯电脑使用Loongnix系统