从 bash 输出中排除一个字符串

2024-01-30

我现在正在做一个项目。在这个项目中,由于某些原因,我需要从与模式匹配的输出(或文件)中排除第一个字符串。困难在于我只需要排除一个字符串,即流中的第一个字符串。 例如,如果我有:

1 abc
2 qwerty
3 open
4 abc
5 talk

一些脚本工作后我应该有这个:

2 qwerty
3 open
4 abc
5 talk

注意:我对单词之前的数字一无所知,因此我无法使用有关它们的知识来过滤输出。

我用 grep 编写了一个小脚本,但它会删除与模式匹配的每个字符串:

'some program' | grep -v "abc"

阅读有关 awk、sed 等的信息,但不明白是否可以解决我的问题。 有什么帮助,谢谢。


使用 awk:

some program | awk '{ if (/abc/ && !seen) { seen = 1 } else print }'

或者,仅使用过滤器:

some program | awk '!/abc/ || seen { print } /abc/ && !seen { seen = 1 }'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 bash 输出中排除一个字符串 的相关文章

  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • Locale.getDefault() 始终返回 en

    unix 机器上的服务器始终使用 en 作为默认区域设置 以下是区域设置输出 LANG en US LC CTYPE C LC NUMERIC C LC TIME C LC COLLATE C LC MONETARY C LC MESSAG
  • 在bash中,是否有相当于“错误消息”的东西

    在 perl 中 您可以使用错误消息退出die some msg bash 中是否有等效的单个命令 现在 我正在使用命令来实现这一点 echo some msg exit 1 你可以很容易地自己推出 die echo 1 gt 2 exit
  • 如何修复“iptables:没有该名称的链/目标/匹配”?

    我在我的 Linux 嵌入式系统上构建并安装了 iptables 如果我列出所有规则 则一切正常 iptables list Chain INPUT policy ACCEPT target prot opt source destinat
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • 从 Amazon S3 存储桶下载文件的脚本

    尝试编写脚本以从 Amazon S3 存储桶下载文件 cURL 网站上的示例遇到问题 下面的脚本产生 我们计算的请求签名与您的签名不匹配 假如 检查您的密钥和签名方法 感谢任何帮助 bin sh file filename php buck
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • bluetoothctl 到 hcitool 等效命令

    在 Linux 中 我曾经使用 hidd connect mmac 来连接 BT 设备 但自 Bluez5 以来 这种情况已经消失了 我可以使用 bluetoothctl 手动建立连接 但我需要从我的应用程序使用这些命令 并且使用 blue
  • Linux 中的无缓冲 I/O

    我正在写入大量的数据 这些数据数周内都不会再次读取 由于我的程序运行 机器上的可用内存量 显示为 空闲 或 顶部 很快下降 我的内存量应用程序使用量不会增加 其他进程使用的内存量也不会增加 这让我相信内存正在被文件系统缓存消耗 因为我不打算
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • 如何在递归调用函数时阻止 bash 创建子 shell

    这是一个计算阶乘的简单 shell 函数 bin bash function factorial if 1 lt 2 then echo 1 else echo 1 factorial 1 1 fi factorial 1 但我发现这个脚本
  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • bash 中 :-(冒号破折号)的用法

    bash中这种风格的含义是什么 PUBLIC INTERFACE eth0 目的是什么 If PUBLIC INTERFACE存在且不为null 则返回其值 否则返回 eth0 实际上有一些记录在bash 手册页 http linux di
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while
  • grep 两个分隔符之间的子字符串

    我有很多bash使用的脚本perl内的表达式grep为了提取两个分隔符之间的子字符串 例子 echo BeginMiddleEnd grep oP lt Begin End 问题是 当我将这些脚本移植到运行的平台时busybox 融合的 g

随机推荐

  • 在 Debian Jessie 上编译 Python 3.6.2 在共享模块上出现段错误

    我正在尝试使用以下选项在 Debian Jessie 盒子上编译 Python 3 6 2 configure prefix opt python3 enable optimizations with lto enable profilin
  • PHP默认参数[重复]

    这个问题在这里已经有答案了 在 PHP 中 如果我有一个这样写的函数 function example argument1 argument2 argument3 我可以像这样在其他地方调用这个函数 example argument1 但如
  • preg_match() 与 strpos() 进行匹配查找?

    For 单值检查 两者中哪一个是首选 为什么 string The quick brown fox jumps over the lazy dog if strpos string fox false do the routine vers
  • 根据换行符将命令输出行存储到数组中

    我有一个如下变量 并且我执行某些操作来一一打印输出 如下所述 a My name is A Her Name is B His Name is C echo a awk F nN ame for i 2 i lt NF i 2 print
  • Delphi中如何识别发送者的Tobject类型?

    我正在为带有无线电组的对话框创建代码 作为首选项表单的一部分 我们代码的一部分是 当打开首选项表单时 单击单选按钮组 这会配置一堆内容 即 如果单选按钮处于 关闭 状态 则隐藏一堆配置内容 我想要知道用户何时实际单击单选按钮组 而不是在首选
  • 仅在反应本机 MapView 上设置初始区域

    使用案例 使用react native MapView 组件将注释显示在地图上 设置初始地图区域 以便所有注释都可见 注释正在移动 这会触发重新渲染 此外 用户应该能够平移 缩放地图 所以onRegionChange and onRegio
  • 使用 Leiningen 在 Raspberry Pi 上改进 Clojure REPL 的启动时间

    我获得了 Raspberry Pi 512MB 版本 2012 年末 并安装了适用于 ARM 的 Java SE 8 开发者预览版 https blogs oracle com java entry developer preview of
  • 无限循环 - 顶部还是底部? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 本着这样的问题的精神您的循环是在顶部还是底部进行测试 https stackoverflow com questions 224059 do y
  • 当你是 git 中的原始仓库时,你如何进行本地拉取?

    我有一台服务器 我在其中设置了 Git 存储库 从我的客户那里 我可以执行 git拉原点 and git 推送原点 我的更改已正确推送 拉取到远程 Git 服务器 我还需要能够在服务器本身上签出项目 我没有使用初始化 裸露当我设置它时 因为
  • 如何在 Spark 2.0+ 中编写单元测试?

    我一直在尝试寻找一种合理的测试方法SparkSession使用 JUnit 测试框架 虽然似乎有很好的例子SparkContext 我不知道如何获得相应的示例SparkSession 即使它在内部的多个地方使用火花测试基地 https gi
  • AXIS-JAXB Unmarshal 不适用于除 jdk 1.8.077 之外的任何 JDK

    我已遵循以下程序 使用 WSDL Apache Axis 1 在 eclipse 中生成客户端文件 使用 JAXB 解组请求 XML 然后调用 Web 服务 如果我使用 JDK 1 8 077 则 XML 会成功解析 如果我使用任何其他 J
  • 在基于phonegap的应用程序上使用jspdf生成客户端pdf

    我尝试从本地数据生成pdf 我在使用 ArrayBuffer 和 Uint8Array 对象时遇到问题 解决方案是添加我在互联网上找到的 js 实现 现在这一行有一个错误 E Web Console 21515 Uncaught TypeE
  • 导入错误:没有名为 argparse 的模块

    我正在尝试运行 Python 程序 但出现错误 ImportError No module named argparse 我找到了问题 argparse cli 中的 Python 模块 https stackoverflow com qu
  • 在任何页面上设计注册表单

    我试图允许用户在我的主页 登陆页面上注册该网站 我已将设备注册表复制到我的登陆页面视图中 div br div div br div div div
  • Ruby,exec、system 和 %x() 或反引号之间的区别

    以下 Ruby 方法有什么区别 exec system and x or 反引号 我知道它们用于通过 Ruby 以编程方式执行终端命令 但我想知道为什么有三种不同的方法来执行此操作 system The system http www ru
  • dropzone.js 在没有 dropzone 的页面上给出错误“无效的 dropzone 元素”

    我正在使用 dropzone js 它在我需要 dropzone 的页面上运行得很好 在任何其他页面上 虽然它给了我一个 Invalid dropzone element 错误消息并导致我的其他 javascript 出现问题 我有一个自定
  • 区分 False 和 0

    假设我有一个包含不同值的列表 如下所示 1 2 3 b None False True 7 0 我想迭代它并检查每个元素是否不在某些禁止值列表中 例如 这个列表是 0 0 0 当我检查是否为 False 时 0 0 0 I get True
  • 为什么必须使用函数指针?

    什么情况下需要函数指针 标准答案似乎是回调 但为什么我们不能只传递一个函数呢 我正在阅读的关于 C 的书演示了将函数作为参数传递 并承认实际上编译器会将其转换为函数指针并传递它 因为函数不是实际对象 它显示了使用函数指针的等效代码 这稍微复
  • Ruby on Rails:默认情况下阻止选择列

    I have entries表与一个content可能包含大量文本的字段 在大多数情况下 我不需要访问该字段 因此每次从数据库加载大量未使用的数据 从 id 1 的条目中选择 似乎是对资源的巨大浪费 我如何指定default scope 除
  • 从 bash 输出中排除一个字符串

    我现在正在做一个项目 在这个项目中 由于某些原因 我需要从与模式匹配的输出 或文件 中排除第一个字符串 困难在于我只需要排除一个字符串 即流中的第一个字符串 例如 如果我有 1 abc 2 qwerty 3 open 4 abc 5 tal