当前位置: 首页 > news >正文

通过perl或awk实现剪切功能

我有如下文件,我想将第二行的数据,移动到文件的最后一行,如何实现?

# cat 1.txt 
open LOG,">>./a.log";
print LOG  "hahh,adfa,adfad";
close LOG;

这里我给出了两种方式:AWK和perl语言

# cat 1.txt |awk '/print/{a=1}/print/&&a{b=$0}END{print b}{if(!/print/)print $0}'
open LOG,">>./a.log";
close LOG;
print LOG  "hahh,adfa,adfad";
# cat 1.txt |perl -ne 'if(/print/){$a=$_}END{print $a};if(!/print/){print $_}'
open LOG,">>./a.log";
close LOG;
print LOG  "hahh,adfa,adfad";

上述代码结构简单进行解释:awk解析和perl一致,这里仅介绍perl
if(/print/){$a=$}:代表如果匹配到print,那么就将这行数据存储放到变量$a中
END{print $a};if(!/print/){print $
}:这里其实是两部分
● 首先会先执行print $_且内容不包含print关键字,即每行数据循环到就会打印
● END{print $a}:代表所有的循环结束后,再打印一次变量$a

http://www.gsyq.cn/news/10154.html

相关文章:

  • 详细介绍:麒麟v10服务器安装libvirt
  • 9.23 资料分析 7/10
  • VMware ESXi 磁盘置备类型详解
  • HWiNFO 硬件信息检测工具下载与安装教程
  • 西电PCB设计指南1~2章学习笔记
  • 逆向分析之switch语句
  • 搭建Python的运行开发环境
  • 【HBase 原理操作 01】
  • 打破数据壁垒,DMS Data Agent 开启智能分析之旅
  • 光隔离探头技术解析:高电压测量的安全革命​​
  • 从缺陷管理到质量协作:现代Bug工具的范式升级
  • 螺旋矩阵-leetcode
  • 完整教程:2020年_408统考_数据结构41题
  • Gitee本土化创新实践:中国企业研发效能提升的新引擎
  • 详细介绍:nvm使用和node使用
  • Markdown的基本语法
  • containerd离线安装
  • Python3 urllib 详解
  • WCF-双工通讯
  • 跨网文件安全交换系统:打破数据壁垒的高效之选!
  • 【F#学习】可区分联合 Discriminated Unions
  • 大环境不好,这几个赚钱网站可以试试
  • Model Context Protocol (MCP) 完整协议流程详解
  • C#和Lua相互访问 - 详解
  • jemter 安装
  • Day20创建对象内存分析
  • 熬夜三天!SpringCloud Gateway 动态路由失效,背后黑手竟是它……
  • cmd 执行git bash 命令
  • 基于Python+Vue开发的新闻管理系统源码+运行步骤
  • Spring框架中的注解主要有哪些