使用 Linux shell 脚本在字符串中的位置?

新手上路,请多包涵

如果我在 shell 变量中有文本,比如 $a

 a="The cat sat on the mat"

如何使用 Linux shell 脚本搜索“cat”并返回 4,如果未找到则返回 -1?

原文由 yazz.com 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 494
1 个回答

用 bash

 a="The cat sat on the mat"
b=cat
strindex() {
  x="${1%%"$2"*}"
  [[ "$x" = "$1" ]] && echo -1 || echo "${#x}"
}
strindex "$a" "$b"   # prints 4
strindex "$a" foo    # prints -1
strindex "$a" "ca*"  # prints -1

原文由 glenn jackman 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题