查找从 unix 命令行输入的单词出现的次数

2024-06-25

对于文件file1.txt其中包含

Apple fruit Apple tree
Tree AApple AApklle Apple apple
TREE
Apple

我想查找该单词出现的次数Apple。输出应该是4.
我的 script.sh 文件包含

#!/bin/bash
FILE="$1"
TOFIND="$2"
if [ -f "$FILE" ];
then
grep -o '\<"$TOFIND"\>' "$FILE" | wc -l
fi

当我尝试使用

bash script.sh file1.txt Apple

输出显示0。请帮助解决这个问题。


使用用于多字符 RS 的 GNU awk:

$ awk -v RS='\\<Apple\\>' 'END{print (NR ? NR-1 : 0)}' file
4

或使用 shell 变量:

$ tofind='Apple'
$ awk -v RS='\\<'"$tofind"'\\>' 'END{print (NR ? NR-1 : 0)}' file
4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找从 unix 命令行输入的单词出现的次数 的相关文章

  • 在命令行上卸载 Android SDK 的选定部分

    这与 卸载旧的 Android SDK 版本 https stackoverflow com questions 15182377 uninstall old android sdk versions 除非我想在无头 Linux CI 服务
  • Java“tail -f”包装器

    我需要将 Unix 命令 tail f 包装在 BufferedInputStream 中 我不想模拟或模仿尾巴 如所述这个问题 https stackoverflow com questions 557844 java io implem
  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • 防止 rsync 删除与给定模式匹配的目标文件

    我正在使用 rsync 将文件从源同步到目标 rsync av delete source destination 我在目标端有一个目录 而不是在源端 我想阻止 rsync 删除此目录 是否有一个选项可以传递给 rsync 以防止该目录在同
  • Excel 保存制表符分隔的文件而不换行 (UNIX/Mac os X)

    这是我遇到的一个常见问题 我的解决方案有点鲁莽 所以我正在寻找问题的快速解决和解释 问题是 当我决定将 Excel mac 2011 中的电子表格保存为制表符分隔文件时 它似乎做得很好 直到我尝试使用 Perl 逐行解析文件 由于某种原因
  • 如何从命令行(没有 Maven/Gradle)启动 JUnit 5(平台)?

    我想从命令行运行一个包含 JUnit 5 测试的类 不幸的是 我有一些外部依赖项阻止我使用 Maven Gradle 或其他构建系统 在 JUnit 4 中 我可以像这样完成这个任务 java lib org junit runner JU
  • 仅当程序成功时如何重定向程序的输出?

    当我的程序之一返回非零退出代码时 我想避免重定向其输出 这可能吗 如果可以 我该怎么做 我失败的尝试 echo foo gt file false cat gt file 这导致file是空的 我想要的行为只是调整file当程序成功时 我还
  • 从命令行执行获取 Apache 文档根(无浏览器)

    不确定标题是否正确 如果您想到更好的标题 请编辑 我有一个从命令行调用的 XMLRPC 服务 它使用 Zend 框架 客户端看起来像这样 server new Zend XmlRpc Client http 主机名 path to xmlr
  • 如果等于特定值则替换列

    我希望替换 CSV 中的第四列 如果它等于 N A 我正在尝试将其更改为 1 我似乎无法让它发挥作用 awk F if 4 N A 4 1 test csv 您可以使用以下内容awk awk F 4 4 N A 1 4 1 OFS test
  • 使用 sed 更改 /etc/fstab

    我想改 etc fstab在脚本内 我想添加acl属性到根分区 One fstab行条目如下所示 UUID 730aee20 52b7 4920 75cd d0d995ef2445 ext3 errors remount ro 0 1 我想
  • 当远程(Http)文件更改时如何执行操作?

    我想创建一个脚本 用于检查 URL 并在远程文件的 Last Modified 标头更改时执行操作 下载 解压缩 我考虑过使用curl 获取标头 但随后我必须将其存储在每个文件的某个位置并执行日期比较 有没有人对使用 大部分 标准 UNIX
  • 使用字符串变量 **kwargs 作为命名参数

    我正在尝试找出一种方法来循环 json 配置文件并使用键名称作为使用 kwargs 的方法的参数名称 我创建了一个 json 配置文件并使用键名作为方法 我只需将 set 附加到键名称即可调用正确的方法 我将 json 转换为字典以循环遍历
  • Python select() 行为很奇怪

    我在理解 select select 的行为时遇到一些困难 请考虑以下 Python 程序 def str to hex s def dig n if n gt 9 return chr 65 10 n else return chr 48
  • c - 后台运行的程序的退出状态

    我有一个任务 其中我必须创建一个迷你 shell 它能够执行很多操作 包括作业控制 我设法使用 fork 和 execvp 创建新的工作 但我还想获取 execvp 运行的程序的退出代码 根据我从其他帖子中查找到的内容 我可以使用以下方法来
  • 使用 Bash 显示进度指示器(旋转器)[重复]

    这个问题在这里已经有答案了 使用仅 bash 的脚本 如何提供 bash 进度指示器 例如 当我从 bash 运行命令时 当该命令正在执行时 让用户知道某些事情仍在发生 在这个使用 SCP 的示例中 我演示了如何获取进程 ID pid 然后
  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • 使用列命令时出现 Bash 错误:“列:行太长”

    当我使用输入文件键入此列命令时 出现以下错误 column t text txt gt output column line too long column line too long column line too long column
  • 如何仅显示匹配行之后的下一行?

    grep A1 blah logfile 感谢此命令对于其中包含 blah 的每一行 我得到了包含 blah 的行的输出以及日志文件中的下一行 这可能是一个简单的问题 但我找不到一种方法来省略包含 blah 和的行only显示输出中的下一行
  • 命令中带空格的 Windows C 系统调用

    我无法使用名称和参数中的空格进行系统调用 例如 system c program files something example exe c my files example txt 我尝试过各种我知道的方法来逃避 但没有任何效果 我努力了
  • 在管道中使用“tee”时,如何将标准错误写入文件?

    我知道如何使用tee写入输出 标准输出 https en wikipedia org wiki Standard streams Standard output 28stdout 29 of aaa sh to bbb out 同时仍然在终

随机推荐

  • React - Jest - 测试阻止默认操作

    我不知道如何测试按键事件并防止默认 测试达到了代码但是preventDefault从未被称为 Received number of calls 0 反应组件 App js const onKeyDown e gt console log T
  • 如何使用 VBA 在 Excel 中搜索单词然后删除整行? [复制]

    这个问题在这里已经有答案了 请有人帮忙 我正在尝试编写一个 VBA 代码 在 Excel 工作表 D 列中搜索特定单词 DR 然后删除整行 工作表中特定单词多次出现 我想做的就是搜索这些出现的情况 然后删除包含这些单词的整行 我的问题是我不
  • VB.net 将窗口置于前面

    我需要在 VB net 2010 中使用什么代码来设置窗口到屏幕前面 我想要实现的是显示紧急警报类型 它是一种表单 由于某些原因我没有使用消息框 有人建议使用以下代码 但这不起作用 Private Sub frmMessage Load B
  • 将最新的 terser-webpack-plugin 与 Webpack5 一起使用

    根据这个链接 简洁的文档 https webpack js org plugins terser webpack plugin terseroptions如果您使用最新的 Webpack 5 则无需安装 Terser 插件 因为它已包含在
  • 如何清除源代码文件中的不可见字符?

    我有一个奇怪的问题 在我的 HTML PHP 代码中的某个地方有一个隐藏的 不可见的字符 我似乎无法摆脱它 通过从 Firebug 复制并转换它 我将其标识为 xFEFF 或 零宽度不间断空间 它在我的网站中显示为非空文本节点 并导致严重的
  • 尝试附加行谷歌表格API

    我一直在尝试让追加行示例工作几个小时 但没有成功 我没有收到任何错误 但我的电子表格根本没有更新 https developers google com sheets samples writing append values https
  • 如何多次上传一个apk到play商店?

    我认为我已经构建了APK 唯一的变化是一些资源 仅此而已 这不是新版本 这是新的 apk 或新应用程序 我怎样才能将这些APK上传到Play商店 我的项目分为多层 我相信每一层都是一个包 不是吗 那么 我是否必须重命名每个包 我必须做哪些更
  • 尽管有 TryCatch 活动,异常仍会从工作流中逃脱

    我在 Windows 服务中有一个工作流程 它是一个定期执行工作的循环 这项工作是在一个TryCatch http msdn microsoft com en us library system activities statements
  • 无||假与假||红宝石中的零

    nil false回报false and false nil回报nil 有人对此有解释吗 在 Ruby 中 一切都是表达式 表达式将返回其中计算的最后一个值 对于您的两个示例 左侧 表达式的计算结果为假值 因此 Ruby 然后计算右侧并返回
  • Windows 更新 KB4040972/73 导致 WPF 类出现黑色图像

    我有一个依赖于深度缩放图像 从 PNG 转换为各种比例的 JPG 金字塔 的应用程序 我们使用 DeepZoomTools dll 来实现 这依赖于PresentationCore dll 多年来一直运行良好 推出 KB4040972 和
  • RAM 到 RAM 的 DMA 传输

    我的一个朋友告诉我 在 x86 架构上 DMA 控制器无法在两个不同的 RAM 位置之间传输 它只能在RAM和外设 如PCI总线 之间传输 这是真的 因为 AFAIK DMA 控制器should能够在位于总线上并具有地址的任意设备之间 特别
  • 使用 Javascript/JQuery 进行 XML/XSL 转换

    谁能告诉我是否有一种方法可以在客户端使用 Javascript 或 JQuery 进行 XML XSLT 转换 这种方法适用于所有主要浏览器 Chrome Safari Firefox 和 IE 谢谢 我应该从一开始就声明我编写了这个脚本
  • 生成连接 2 点的线的像素值

    我在尝试连接图片中的各个点时遇到一些麻烦 见下文 现在 我的代码如下 first time resulting coords 0 40 for i in range len first time if i lt len first time
  • 在 blogdown 中包含图像预览(.Rmd yaml 标头)

    我尝试了几种方法 但到目前为止都没有效果 我想在我的主博客页面上添加用 R markdown Rmd 编写的博客文章的图像预览 其中通常会显示许多帖子和项目 我可以使用以下从 Hugo 获取的代码使其在普通 markdown md 中工作a
  • JTable 中的结果集

    如何在 JTable 中显示结果集 我正在使用这个代码 String record new String ColCount for i 0 i
  • Gradle 找不到用于使用 NDK 进行调试的 OpenCV 库

    我一直在使用 C 代码开发 Android 应用程序 只需执行ndk build 我一直使用 OpenCV 所以在我的Android mk有 include CLEAR VARS OPENCV LIB TYPE SHARED OPENCV
  • 在文本文件中的特定位置添加新行。

    我正在尝试在文件中添加特定的文本行 特别是在两个边界之间 如果我想在 item1 的边界之间添加一条线 它会是什么样子 item1 2550 coins 995 200000 7 2550 coins 995 200000 7 2550 c
  • 在sql server中,sys.types中的user_type_id和system_type_id有什么区别

    sql server中sys types视图中的user type id和system type id有什么区别 我想将sys columns与sys types进行内连接以获取用户表中列的数据类型 但这两个视图都有两个字段user typ
  • 通过从 python 文件引用 requests.txt 中的软件包来安装它

    我有以下内容requirements txt file beautifulsoup4 4 8 2 py37 0 urllib3 1 25 8 py37 0 pyopenssl 19 1 0 py37 0 openssl 1 1 1d h1d
  • 查找从 unix 命令行输入的单词出现的次数

    对于文件file1 txt其中包含 Apple fruit Apple tree Tree AApple AApklle Apple apple TREE Apple 我想查找该单词出现的次数Apple 输出应该是4 我的 script s