Bash:在 OS X 下查找字符串中字符的位置

2024-03-04

有没有办法找到字符串中第一个字符的位置Bash under Mac OS X?

就像是:

stringZ=abcABC123ABCabc                      # 6
echo `expr index "$stringZ" C12`             # C position.

如中所述高级 Bash 脚本指南 http://tldp.org/LDP/abs/html/string-manipulation.html

几个陷阱:

  1. 官方index功能expr index $string $substring不是 存在于 OS X (BSD) 中match
  2. 安装 gnu 匹配 (gmatch)似乎不是 BSD 系统领域的便携式解决方案

有任何想法吗?


这是一个可怕的黑客行为,可能不适用于所有情况。

tmp=${stringZ%%C12*}     # Remove the search string and everything after it
echo $(( ${#tmp} + 1 )) # Add one to the length of the remaining prefix
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash:在 OS X 下查找字符串中字符的位置 的相关文章

  • 如何获取 CIFilter 类中的过滤器名称列表?

    我正在使用以下代码进行曝光调整及其工作 我需要锐化 降噪 高光 色温 阴影 模糊等滤镜名称 CIFilter filterWithName CIExposureAdjust keysAndValues inputImage imageVie
  • 如何在 Mac 上禁用屏幕保护程序/显示器睡眠

    有没有办法用可可禁用屏幕保护程序和显示器睡眠 OSX 10 8 中已弃用 UpdateSystemActivity OverallAct 的使用 现在推荐的方法是通过以下调用来阻止它 IOPMAssertionCreateWithName
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • “/bin/bash -l”无效选项

    好吧 我正在尝试在我们的超级计算机上运行隐藏为一项作业的串行 MPI 作业 主要提交脚本基本上如下所示 bin bash l PBS l nodes 4 ppn 8 walltime 24 00 00 cat PBS NODEFILE un
  • 使用 Swift 将自定义字体添加到 macOS 应用程序

    我遵循了一堆教程 但它不起作用 我只是想向 macOS 应用程序添加自定义字体 我基本上尝试过 添加了 ttf字体文件到我的项目 目标会员资格已设置 我还确保使用复制文件Copy Files within Bundle Phases 编译后
  • 检查 Git 中是否需要 pull

    如何检查远程存储库是否已更改并且需要拉取 现在我使用这个简单的脚本 git pull dry run grep q v Already up to date changed 1 但它比较重 有没有更好的办法 理想的解决方案是检查所有远程分支
  • 如何扩展路径中的波形符(~)[重复]

    这个问题在这里已经有答案了 我有一个 shell 脚本 可以从用户那里获取目录路径 但我需要检查目录是否为空 如果用户将他的主路径与 而不是绝对路径 所以我无法检查它ls echo Specify your project root dir
  • npm 命令 create-react-app 失败

    我正在尝试在运行 Os X sierra 10 12 6 的计算机 mac pro 2017 上测试reactjs 我已经遵循了 Facebook 教程 确保您安装了最新版本的 Node js done 按照安装说明进行操作创建一个新项目
  • NSTextField 字体样式在选择时重置

    Context 在 Interface Builder 中 我有一个不可编辑的标签 NSTextField 标签的内容是使用 Cocoa Bindings 创建的 绑定的值是NSAttributedString 使用数值转换器创建 看图片
  • 正则表达式匹配bash变量

    我正在尝试修改 bash 脚本 当前脚本包含 print div class 1 div Where 1可能看起来像 Apprentice Historian Level 1 Historian Level 4 Master Histori
  • 设置 git 别名,但调用它会给出“找不到命令”

    我想在 git 中设置一个别名来计算存储库中的总行数 因此我进入 Git Bash 并输入以下内容 git config global alias linecount ls files z xargs 0 wc l 我输入命令后 没有出现错
  • rvm:未找到命令 MAC OX

    真的 我不知道发生了什么 对不起 如果这个问题太菜鸟了 但我找不到这个问题的解决方案 bash rvm 找不到命令 我试过这个 curl L https get rvm io https get rvm io bash s 版本最新 但我仍
  • 从 bash 变量中删除空格

    假设一个变量包含空格 换行符和制表符 后跟一些文本 为什么会这样 var var space strip var of everything but whitespace then remove what s left i e the wh
  • 表视图未根据绑定更新 - 第二部分

    标题借用自这个问题 https stackoverflow com questions 1336478 table view not updating according to bindings 其中这个是not重复的 请参阅我的回答 了解
  • 使用c#在mac上启动外部进程

    我成功地使用 System Diagnostics Process Start 在 Windows 上启动我的外部单声道可执行文件 然而在mac上却失败了 我没有收到任何错误 只是什么也没发生 我尝试按以下方式进行操作 System Dia
  • 生成斐波那契数列的 Shell 脚本

    我正在尝试创建一个递归函数来计算斐波那契系列中的第 n 个数字 我已经找到了很多解决这个问题的方法 但我不知道为什么我的解决方案不起作用 谢谢 function fib if 1 eq 1 o 1 eq 2 then return 1 el
  • 以编程方式阻止 Vista 桌面搜索 (WORDS) 对映射网络驱动器上的 pst 文件建立索引

    经过几天的多次尝试 我没有找到任何 100 的解决方案来解决这个问题 我的搜寻和调查范围 直接访问注册表 HKLM SOFTWARE Microsoft Windows Search CrawlScopeManager Windows Sy
  • 在 OSX 上检测 Objective C 或 C++ 中的文件夹访问(如 fs_usage 命令)

    我正在 OSX 上开发实时病毒扫描程序 OSX 的命令行命令fs usage可以通过以下方式确定文件夹访问权限 并且只能以 root 用户身份运行 fs usage w f pathname grep Users Documents Use
  • 通知管道右侧左侧故障?

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

随机推荐