匹配后替换行

2024-02-05

给定这个文件



$ cat foo.txt
AAA
111
BBB
222
CCC
333
  

我想替换之后的第一行BBB with 999。我想出了这个命令

awk '/BBB/ {f=1; print; next} f {$1=999; f=0} 1' foo.txt

但我对 awk 或 sed 的任何较短命令感到好奇。


这可能对你有用(GNU sed)

sed '/BBB/!b;n;c999' file

如果一行包含BBB,打印该行,然后将以下行更改为999.

!b否定先前的地址(正则表达式)并中断任何处理,结束 sed 命令,n打印当前行,然后将下一行读入模式空间,c将当前行更改为命令后面的字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

匹配后替换行 的相关文章

  • 有没有办法让 Linux CLI IO 重定向持久化?

    我有多个管道命令 如下所示 find options grep options xargs grep options 它们中的每一个都可能产生我不感兴趣的错误 权限错误 文件名空格错误等 因此 我想将所有错误重定向到 dev null 我知
  • sed 替换 json 对象中键的值

    我想做什么 给定一个 json 事件文件 我想通过关键字定位特定事件 然后将该事件中的键值替换为 这必须使用 sed 来完成 Splunk 转发问题 我不会用细节来烦你 事件示例 message we have a response fro
  • 通过 Bash 命令在文本文件中查找并替换

    例如 对给定输入字符串进行查找和替换的最简单方法是什么abc 并替换为另一个字符串 例如XYZ在文件中 tmp file txt 我正在编写一个应用程序并使用 IronPython 通过 SSH 执行命令 但我不太了解 Unix 也不知道要
  • 从文件开头开始 grep (grep -f )

    I use commands grep f file从文件中提取管道内容 但是 我只想在匹配字符串位于行开头时才提取 通常我使用grep string 但它不适用于grep f grep f file grep No such file o
  • bash 如何识别链接?

    在捕获 href 链接的 bash 脚本中 bash 如何知道 TEXT 是链接而不是典型的字符串 为什么最后当 TEXT www google com 时 TEXT 仍然是一个链接 你能用一个文件做到这一点吗 例如 有一个运行脚本的 点击
  • '>&0' 有用途吗(重定向到标准输入)?

    在 bash 中你可以这样做 echo test gt 1 重定向到标准输出 尽管它已经到那里了 echo test gt 2 重定向到标准错误 echo test gt 0 重定向到标准输入 当我做最后一个时 我的终端仍然打印test就像
  • 输入菜单选项后,我的 bash 菜单不会返回...这是我的代码

    不知道我在这里做错了什么 但我需要菜单循环并且只有在退出时才退出 我尝试了很多选项 但它只是不断弄乱我的代码和菜单 非常感谢任何帮助和 或想法 bin bash A menu driven shell script sample templ
  • 在 bash 中将 nameref 设为常规变量

    EDIT 这已被确认为一个错误并将被修复 https lists gnu org archive html bug bash 2018 03 msg00055 html https lists gnu org archive html bu
  • bash 脚本中的未绑定变量

    在调试我的脚本时 我变得绝望 我使用了我的高级同事向我推荐的一些结构 但我不知道如何使其正常工作 bin bash x set ueo pipefail exec gt tmp dq log source BASH SOURCE env p
  • 如何将字符串推送到标准输入?在启动时通过 stdin 提供输入,然后以交互方式读取 stdin 输入 [重复]

    这个问题在这里已经有答案了 有没有办法在调用程序时将字符串 推送 到程序的标准输入流 这样我们就可以达到这样的效果 echo something my program 但不是在之后读取 EOF something my program将从原
  • 如何转义 bash 别名中的空格?

    尝试在我的 bashrc 文件中设置一些别名 这个 export alias umusic Volumes 180 gram Uncompressed 出现以下错误 bash cd Volumes 180 没有这样的文件或目录 当我尝试 c
  • 我应该使用 AWK 或 SED 删除 CSV 文件中引号之间的逗号吗? (重击)

    我有一堆日常打印机登录CSV格式 我正在编写一个脚本来跟踪使用了多少纸张并将信息保存到数据库中 但我遇到了一个小问题 本质上 日志中的一些文档名称中包含逗号 全部用双引号引起来 并且由于它采用逗号分隔格式 所以我的代码搞乱了并将所有内容推到
  • bash 脚本中的变量值不会改变[重复]

    这个问题在这里已经有答案了 运行以下代码 a one echo a a two echo a a three echo a gt a 结果是 one one 以及创建的文件名称为 one 内容为 one 为什么变量没有更改为two在第 2
  • 如何在变量中存储标准错误

    假设我有一个如下所示的脚本 无用 sh echo This Is Error 1 gt 2 echo This Is Output 我还有另一个 shell 脚本 也无用 sh useless sh sed s Output Useless
  • 是否可以为我的 Linux 函数复制命令的制表符补全?

    假设我有一个名为的 bash shell 函数magic 我想定义一个制表符补全功能 magic这将允许magic搭载任何给定命令的选项卡完成功能 如果可用 换句话说 我想要magic能够做这样的事情 magic git
  • 在 Bash 中将命令的输出读取到数组中

    我需要将脚本中命令的输出读取到数组中 该命令例如是 ps aux grep grep x 它逐行给出输出 如下所示 10 20 30 我需要将命令输出中的值读入一个数组 然后如果数组的大小小于三 我将做一些工作 如果命令的输出包含空格 相当
  • 在linux中将包含word的行从一个文件复制到另一个文件

    我想复制包含某些单词的行file1 to file2 Suppose file1 ram 100 ct 50 gopal 200 bc 40 ravi 50 ct 40 krishna 200 ct 100 file2应该只有包含 ct 的
  • Bash脚本无法执行Go命令

    我正在尝试编写一个 bash 脚本来自动在不同的目录中运行 go get install 相关部分在这里 cd web go get cd web go install cd services go get cd services go i
  • 我收到错误“array.sh:3:array.sh:语法错误:”(“意外”

    我编写了以下代码 bin bash Simple array array 1 2 3 4 5 echo array 我收到错误 array sh 3 array sh 语法错误 意外 根据我从 Google 了解到的情况 这可能是因为 Ub
  • 如何通过双击使该 file.sh 可执行?

    首先我用的是Mac 接下来 我需要执行这个 file sh 我们将调用它 每次我需要执行它时 我都必须打开终端并输入 cd Users Jacob Documents folderWithFileInIt bash file sh 这没关系

随机推荐

  • Python 字符串中的 u'\ufeff'

    我收到错误并显示以下异常消息 UnicodeEncodeError ascii codec can t encode character u ufeff in position 155 ordinal not in range 128 不知
  • JScrollPane 中的滚动更平滑

    使用 JScrollPane 的滚动条箭头进行滚动 或通过为箭头键设置键绑定 将视口移动一个增量 暂停 然后平滑滚动 我遇到的大多数滚动条的行为都是一样的 有轻微的移动 暂停 然后更快地连续滚动 有什么方法可以避免暂停 以便滚动从开始到结束
  • C 中的重音/元音字符?

    我刚刚学习 C 语言 并接到了一项作业 要求我们将纯文本翻译成莫尔斯电码 然后再翻译回来 我最熟悉 Java 所以请耐心等待我使用的术语 为此 我有一个包含所有字母字符串的数组 char letters etc 我编写了一个函数来返回所需字
  • Python Discord.py `time.sleep()` 协程

    import discord import os import random import time import math client discord Client with open admins conf r as f for li
  • 反应本机无法读取 null 的属性“绑定”

    我尝试运行一个反应本机模拟器 然而 在模拟器中却出现了这个错误 Failed to load bundle http localhost 8081 index bundle platform ios dev true minify fals
  • javascript CORS onerror 处理程序

    背景 几年前 有一个问题onerror处理程序和跨源脚本标签 更多相关信息 http jeremiahgrossman blogspot com 2006 12 i know if youre logged in anywhere html
  • 如何获取被点击元素的类?

    我不知道如何获得class单击的元素的值 当我使用下面的代码时 我得到 node 205 每次 jQuery find gt ul tabs selectedClass active select function event ui sho
  • EXC_BAD_ACCESS 当我关闭窗口时,这也是我的应用程序的委托

    我写了一个 Cocoa 应用程序 然后我得到了EXC BAD ACCESS当我关闭应用程序窗口时出错 我读到这个错误通常意味着内存问题 但我有ARC mode上 我不需要关心释放等 xCode 禁止我调用此函数并自动管理内存 错误指向行re
  • Django 单元测试缺少数据库列

    我在 Django 上创建了一个单元测试来创建用户帐户并发送验证电子邮件 用户已创建 但电子邮件发送失败 电子邮件的默认内容应该在创建用户时创建为用户中的一个字段 但由于某种原因 Django 声称 DatabaseError no suc
  • Iconv:带有 ASCII//IGNORE 的 EILSEQ,但不带有 ASCII//TRANSLIT//IGNORE

    使用 iconv 与 TRANSLIT IGNORE从 utf8 转换为 ascii 效果很好 它根据当前语言环境将不可转换的字符替换为正确的音译 在我的例子中为 de DE gt echo m p iconv f UTF8 t ASCII
  • -webkit-fill-available 有什么用?

    PIC 1 这就是我所拥有的 图1 PIC 2 这就是我需要的 图2 在pic 2中我添加了 width webkit fill available 我得到了我所期望的 但我不知道它是如何运作的 因此 您需要了解两件事 webkit fil
  • 子域约束(Rails 3)使本地服务器(瘦)如此慢

    我最近向我的 Rails 路由文件添加了子域约束 constraints subdomain gt new do devise for customers do get customers sign up gt registrations
  • UITableView reloadData 有多贵?

    我很好奇 UITableView 的 reloadData 的资源消耗有多大 我有一个应用程序 它将发出大约 10 个后续 HTTP 请求 当它获取数据 准备时 它会重新加载 tableView 随着数据集变得越来越大 它变得非常缓慢 我试
  • 无法连接到 MongoLab“身份验证失败”错误

    我是蒙戈新手 最近在 mongoLab 创建了一个帐户 我正在尝试使用以下语句连接到数据库 mongo ds039487 mongolab com 39487 webbies u
  • C# 解析无名称的Json文件

    所以 Json 文件的一部分是这样的 number 23 name LJames lt look at this line Gender Male 我正在尝试解析它 只要名称字段存在 名称与值不匹配 DataContractJsonSeri
  • 在 R Ubuntu 中安装主题模型时出错

    我在安装时遇到错误topicmodels封装在R 跑步时install packages topicmodels dependencies TRUE 以下是我收到的最后几行 请帮忙 我的R版本是3 1 3 g I usr share R i
  • 使用雷达/极坐标图来描述各个数据点

    这是继我之前的帖子之后 如何在ggplot2中测量多边形的面积 https stackoverflow com questions 47644156 how to measure the area of a polygon in ggplo
  • 如何验证GPU的使用情况?

    如何验证 CNTK 是否正在使用 GPU 我已在我的计算机上安装了 CNTK 2 0 beta7 0 Windows 64bit GPU 1bit SGD 二进制文件 但是 当我尝试从 Python 运行它时 from cntk devic
  • C++ - 自动返回引用和非引用类型

    当编写函数时auto我们可以使用的返回类型constexpr if返回不同类型 auto myfunc constexpr if someBool type1 first something return first else type2
  • 匹配后替换行

    给定这个文件 cat foo txt AAA 111 BBB 222 CCC 333 我想替换之后的第一行BBB with 999 我想出了这个命令 awk BBB f 1 print next f 1 999 f 0 1 foo txt