unix - 在 Unix 中将文本向上移动一行
问题描述
我有一个文本文件,其中包含一组类似于以下作业的作业。我想做的是将每项工作的外观移动JOB_NAME
到线上delete_job:
delete_job: JOB_NAME
我尝试了很多方法,但无法让它工作!有什么想法可以实现吗?
delete_job:
JOB_NAME
job_type: BOX
description: "*******"
date_conditions: 0
owner: *******
alarm_if_fail: 1
解决方案
EDIT2:根据 ED 先生的建议,现在也添加 1 个解决方案。
awk 'val{print val OFS $0;val="";next}/delete_job/||/update_job/||/insert_job/{val=$0;next} 1' Input_file
编辑:正如 OP 所说,许多字符串可以在那里进行搜索,因此现在相应地进行更改。
awk '/delete_job/||/update_job/||/insert_job/{val=$0;getline;print val OFS $0;next} 1' Input_file
您能否尝试关注并让我知道这是否对您有帮助。
awk '/delete_job/{val=$0;getline;print val OFS $0;next} 1' Input_file
推荐阅读
- java - Vaadin-14:检查客户端是否是移动设备
- java - 资源束层次结构如何与变体一起使用?
- flutter - Flutter:在特定 HTTP 错误时注销用户
- html - 如何将文字放在图像顶部?
- flatbuffers - FlatBuffers 数据添加覆盖
- sparql - SPARQL:获取结果集的不同名称空间
- ios - 我不能在 fastlane 中使用 push_to_git_remote()
- safari - Safari 12.1.2 及更高版本中的 jQuery 3.3.1 文件上传冻结
- jquery - 当验证正在处理以形成提交事件时,如何通过验证器添加方法验证表单并显示加载图像?
- python - 如何将特定数量的额外工作人员添加到现有的多处理池中?