Bash 脚本查找两个字符串之间的差异

2023-12-02

给定这两个字符串:

"12345"
"1245"

如果第一个是完整的字符串,而第二个字符串缺少第一个字符串,我希望它返回“3”。

再次如此:

"The ball is red"
"The is red"

我要回“球”

我尝试过比较:

diff <(echo "12345") <(echo "1245")

但 diff 没有给出所需的输出。 comm 也没有做我想做的事。


我觉得comm正确的命令是:

comm -23 <(tr ' ' $'\n' <<< 'The ball is red') <(tr ' ' $'\n' <<< 'The is red')

或更灵活:

split_spaces() { tr ' ' $'\n' <<< "$1"; }
split_chars() { sed $'s/./&\\\n/g' <<< "$1"; }
comm -23 <(split_spaces 'The ball is red') <(split_spaces 'The is red')
comm -23 <(split_chars 12345) <(split_chars 1245)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash 脚本查找两个字符串之间的差异 的相关文章

  • 正则表达式匹配bash变量

    我正在尝试修改 bash 脚本 当前脚本包含 print div class 1 div Where 1可能看起来像 Apprentice Historian Level 1 Historian Level 4 Master Histori
  • 在 macOS 上使用 find 时出现“非法选项”错误

    我试图列出末尾仅带有字母 R 的文件 我用了find在 macOS 终端中如下所示 find type f name R 但我收到消息说illegal option t 第一个参数find是它应该开始寻找的路径 路径 表示当前目录 find
  • 替换多个文件中的多个字符串

    我有一个包含正则表达式列表和替换文字字符串的文件 格式如下 OLD REGEXP 1 NEW STRING 1 OLD REGEXP 2 NEW STRING 2 我想替换所有匹配的字符串OLD REGEXP X with NEW STRI
  • 如何wget目录中最新的文件

    我想编写一个 bash 脚本来下载并安装最新的每日构建程序 RStudio 是否有可能使wget仅下载目录中最新的文件http www rstudio org download daily desktop http www rstudio
  • 在 scp 的简单函数包装中使用波形符 ~ 时出现问题

    我想放置一个简单的bash功能在我的 bashrc围绕着scp通过接受 源 参数和 目标 参数来命令 到目前为止已经尝试过 function send eval scp 1 user annoyingly long server name
  • 将 stdout 复制到 stderr

    我希望在 bash 下也将命令的标准输出复制到标准错误 就像是 echo FooBar FooBar FooBar 其中 是重定向表达式 那可能吗 将 tee 与 dev stderr 一起使用 echo FooBar tee dev st
  • Bash 循环遍历具有行和列的变量

    经过几个小时的搜索测试不同的解决方案后 我尚未找到可行的解决方案 Bash 和 Shell 脚本不是我的强项 我有一个变量 其中有行 换行 和列 制表符分隔 我想要做的是循环遍历行并获取 Column X 然后将该项目放入变量中 以便我可以
  • 通知管道右侧左侧故障?

    我越来越喜欢在 shell 脚本中的函数之间使用类似于生成器的模式 像这样的事情 parse commands da cmd file process commands 然而 这种模式的基本问题是 如果 parse command 遇到错误
  • 从 shell 脚本解析文件中的键/值的代码

    我有一个文件 需要使用 shell 脚本按键查找值 该文件如下所示 HereIsAKey This is the value 我怎样才能做类似的事情 MyVar Get HereIsAKey 然后 MyVar 应该等于 这就是值 键没有空格
  • 启动 OSX 时未使用 teamcity 代理运行 bash

    我有一个 shell 脚本startup sh执行以下操作 创建 RAM 磁盘并启动 teamcity 代理 bin bash DISK usr bin hdiutil attach nobrowse nomount ram 1677721
  • 仅当程序成功时如何重定向程序的输出?

    当我的程序之一返回非零退出代码时 我想避免重定向其输出 这可能吗 如果可以 我该怎么做 我失败的尝试 echo foo gt file false cat gt file 这导致file是空的 我想要的行为只是调整file当程序成功时 我还
  • Bash:执行命令时超时/文件溢出终止

    我正在用 bash 编写一个模拟评分脚本 它应该执行一个 C 程序 该程序将给出一些输出 我将其重定向到一个文件 我试图 1 使其在一定持续时间后超时 并且 2 如果输出文件到达某个文件则终止尺寸限制 不知道如何解决这两个问题 有什么帮助吗
  • 错误:分配关联数组时必须使用下标

    我想要 bash 中的哈希图等效项 键为string和价值观作为list的整数 所以 我写了下面的代码 declare A PUBS PUBS FEE 345 342 FOO 1 2 44 BAR 23 67 但是 我收到一条错误消息mus
  • 为什么这个脚本不改变目录

    好吧 简单的 bash 脚本问题 别笑 我的脚本只是更改目录 echo on echo running script CURRENT DIR cd pwd 我可以看到它在 echo 中更改目录 但是当它完成时 我的终端仍然位于同一目录 有小
  • 在同一变量集行中组合多个 bash 参数替换,而不使用任何其他命令[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想要组合的示例 sVar whoami sVar sVar sVar sVar 1 Output 用户名第一个字符大写 要求 单线
  • 通过多个换行符分割文件

    假设您有以下输入文件 Some text It may contain line breaks Some other part of the text Yet an other part of the text 并且您想要迭代每个文本部分
  • 如何判断输入来自哪个键盘

    设想 我有一个 USB RFID 读取器 将其连接到笔记本电脑后 它可以用作新连接的 USB 键盘 例如无需安装任何驱动程序 当接触带有 RFID 标签的阅读器时 它进入我当前的窗口 例如终端 外壳 RFID 号码 例如0009339384
  • 如何从 tcl 脚本调用 bash 命令?

    Bash 命令可从交互式 tclsh 会话中获得 例如 在 tclsh 会话中 您可以 ls 代替 exec ls 但是 您不能有一个直接调用 bash 命令的 tcl 脚本 或者没有exec 如何使 tclsh 在解释 tcl 脚本文件时
  • 为什么我不能用这个循环从 bash 历史记录中删除多个条目

    这个循环将显示我想要做的事情 但是如果我删除echo从中 它实际上不会删除任何内容 history grep 0 5 0 9 ls cut c1 5 while read id do echo history d id done 我添加了缩
  • python中的多服务器监控/自动重启

    我有 2 个服务器程序 必须使用 GNU Screen 启动 我想使用基于 Python 的程序来强化这些服务器 防止崩溃 该程序启动每个屏幕会话 然后监视服务器进程 如果服务器进程崩溃 我需要 python 代码来终止无关的屏幕会话并再次

随机推荐

  • 如何使用表单名称作为字符串创建新的表单实例

    使用表单名称创建封闭表单的新表单实例的代码 我想用变量替换长的选择案例列表 模块完整代码 在 Access 2010 中 我有一个 VBA 函数 当给定包含表单名称的字符串时 该函数会打开表单的新实例 通过将表单变量 frm 添加到集合中
  • 图片在浏览器中显示为垃圾字符

    谁能告诉我为什么当我尝试通过浏览器访问图像 URL 时 它显示一堆内容类型为文本 纯文本的垃圾字符 eg https www domainname com client image name jpg显示如下 3 1AQa q2 B R b3
  • 如何使用 php 将文件添加到 ziparchive 中新创建的文件夹中?

    如上图所示 我有组织在虚拟文件夹中的图像 在 mysql 数据库中 但不是真实文件夹中 我需要使所选文件夹可供使用下载为 zip 文件 我能够压缩图像 但是我们如何添加子目录以便向其中添加图像 我尝试使用addEmptyDir 但无法找到向
  • 当条码扫描仪发送以换行符结尾的数据时如何使按钮散焦

    我正在编写一个 C 条形码应用程序 我有一个 EAN 13 正则表达式来检测 Form1 KeyPress 函数中的条形码 我没有机制来检测输入来自哪里 这是我的问题 我的表单中有一个重置按钮 可以清除 dataGridView 中列出的所
  • 无法全局安装旧版本的 phpunit phar

    正如给出的https phpunit de manual current en installation html installation phar verification 全局安装PHAR的步骤是 wget https phar ph
  • DLIB:针对 194 个地标训练 Shape_predictor(helen 数据集)

    我正在训练DLIB s 形状预测器对于 194 个面部特征点 使用海伦数据集用于通过以下方式检测人脸特征点face landmark detection ex cppdlib 库 现在它给了我一个sp dat大约的二进制文件45 MB与给定
  • Live Sass 编译器 - @use 导致编译错误

    我在用着Live Sass 编译器 v3 0 0在我的 VS Code 中 每当我使用 use rule从另一个文件导入变量 但是 当我使用 Sass 命令行界面时 sass watch 编译我的文件 它会抛出没有错误 因此 我想问一下这是
  • macOS DriverKit:制作 PCI dext 来替换内置驱动程序

    我正在尝试在 DriverKit 中编写一个用户空间 PCI 驱动程序 用于教育 研究目的 我找到了一个来自 WorthDoingBadly 的示例其中包含 PCI 设备 dext 的样板代码 我已删除了漏洞利用代码 我已将其修改为通过以下
  • 检测 IE 中包含 PDF 的 iFrame 的 onload 事件

    我发现这个问题已经在这里被问过很多次了 有些解决方案部分有效 这就是场景 我需要加载一个包含 pdf 的 iframe 有可能找不到 PDF 我将在 iFrame 中显示错误页面 加载 iframe 后 我会查找标签使用 iframe co
  • 我如何在不使用 virtual 关键字的情况下重写这个 C++ 继承的成员函数?

    我有一个小程序来演示简单的继承 我正在定义一个派生自哺乳动物的 Dog 类 这两个类共享一个名为 ToString 的简单成员函数 当我不使用 virtual 关键字时 Dog 如何覆盖 Mammal 类中的实现 我是否需要使用 virtu
  • Android:修改录制的视频质量

    我正在使用 MediaRecorder 录制视频 假设视频的大小保持不变 我不清楚应该使用哪些参数来改变图像的质量 例如 我想始终创建 640x480 mp4 视频 我可以调整哪些参数来提高或降低质量 您可以尝试使用 recorder se
  • 自 ubuntu 升级以来未定义对“dlopen”的引用

    自从我升级到 ubuntu 13 10 和 gcc 4 8 1 以来 我遇到了对 dlopen 问题的未定义引用 makefile 已经工作多年了 特定的调用是 gcc rdynamic o ov dbutil ov dbutil o li
  • 离子闪屏和旋转器

    有没有办法在启动屏幕中自定义微调器 目前我正在使用 cordova flashscreen 插件 我想更改出现在启动屏幕上的微调器的颜色 In platforms android src org apache cordova splashs
  • 将sql查询转换为jpa

    我有一个疑问 SELECT d name count e id FROM department d LEFT OUTER JOIN employee e on e department id d id and e salary gt 500
  • 如何从 PInvoke 本机回调返回 StringBuilder 或其他字符串缓冲区

    我想要一种干净的方法来增加本机代码填充所需的 StringBuilder 的大小 下面的回调方法看起来很干净 但不知何故我们得到了缓冲区的副本而不是实际的缓冲区 我感兴趣解释和解决方案 最好坚持回调类型分配 因为如果它可以工作的话 它会很好
  • 将 MBF 双精度转换为 IEEE

    我在下面找到了一个将 MBF 转换为 IEEE 的主题 将 MBF Single 和 Double 转换为 IEEE 谁能解释一下下面标记的代码的功能是什么 暗淡符号 As Byte mbf 6 和 ToByte H80 AND H80 是
  • 根据给定的坐标移动鼠标

    我想要的是 在记录鼠标移动并保存坐标 索引 位置后 我必须加载鼠标坐标并使鼠标根据加载的坐标移动 我没有代码可以给你看 因为我现在陷入困境 private void button3 Click 1 object sender EventAr
  • Linux 相当于 Windows DLL 转发器或 MacOS reexport_library

    我有一个共享库 试图提供一个标准化的接口 基本上是一个函数列表 其中一些功能已由另一个共享库提供 因此 我可以编写附加函数并要求用户链接到这两个库 即让他这样做 g foo c lmine lother 但是 为了让用户更轻松 我不想这样做
  • GCC原子shared_ptr实现

    根据https gcc gnu org bugzilla show bug cgi id 57250 GCC 4 9已经支持原子shared ptr运营 使用 GCC 4 9 2 我能够编译一个使用原子的程序shared ptr The m
  • Bash 脚本查找两个字符串之间的差异

    给定这两个字符串 12345 1245 如果第一个是完整的字符串 而第二个字符串缺少第一个字符串 我希望它返回 3 再次如此 The ball is red The is red 我要回 球 我尝试过比较 diff lt echo 1234