当前位置: 首页 > 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.jsqmd.com/news/2124/

相关文章:

  • java列队多种实现方式,
  • 自定义属性编辑器
  • Ashampoo Music Studio 12.0.3 音频编辑处理
  • Gitee:本土化代码托管平台如何重塑中国开发者协作生态
  • 详细介绍:麒麟v10服务器安装libvirt
  • WEB项目引入druid监控配置
  • Computer Graphics Tutorial
  • CF1874(CF Round 901) 总结
  • 9.23 资料分析 7/10
  • 2. Spring AI 快速入门使用 - Rainbow
  • PyCharm 2025.1安装包下载与安装教程
  • 阿里将发布多模态模型 Qwen3-Omni,主打多语言与复杂推理;DeepvBrowser 上线 AI 语音浏览器丨日报
  • Word文档内容批量替换脚本 - wanghongwei
  • VMware ESXi 磁盘置备类型详解
  • EF 数据迁移生成sql脚本
  • HWiNFO 硬件信息检测工具下载与安装教程
  • 第七章 手写数字识别V1
  • 西电PCB设计指南1~2章学习笔记
  • QBtn 组件go参数类型错误解决方案
  • 1. 大模型的选择详细分析 - Rainbow
  • 云计算实践部署笔记
  • [eJOI 2024] 奶酪交易 / Cheese
  • 逆向分析之switch语句
  • 批量查询设计桩号方法及文件格式
  • 搭建Python的运行开发环境
  • 详细介绍:树上LCA和树链剖分(未完待续)
  • 【HBase 原理操作 01】
  • 打破数据壁垒,DMS Data Agent 开启智能分析之旅
  • 无人机、人形机器人 —— 电池电压(电量)对运行状态的影响
  • 若依前后端版本-综合QA