❯ a="The cat sat on the mat"
❯ echo $a | rg --no-config --column 'cat'
1:5:The cat sat on the mat
❯ echo $a | rg --no-config --column 'cat' | cut -d: -f2
5
如果你想把它变成一个函数,你可以这样做:
function strindex() {
local str=$1
local substr=$2
echo -n $str | rg --no-config --column $substr | cut -d: -f2
}
6条答案
按热度按时间tquggr8v1#
使用bash
ncgqoxb02#
您可以使用grep来获取字符串匹配部分的字节偏移量:
如您的示例所示:
如果你只想要第一部分,你可以用管道把它传给awk
cfh9epnr3#
我用awk来做这个
p1iqtdky4#
rn0zuynd5#
这只是Glenn Jackman的转义答案的一个版本,即基于相同原理的免费反向函数
strrpos
和Python风格的startswith
和endswith
函数。编辑:更新@Bruno的优秀建议。
eqqqjvef6#
这可以使用
ripgrep
(也称为rg
)来完成。如果你想把它变成一个函数,你可以这样做:
...并按如下方式使用:
strindex <STRING> <SUBSTRING>
您可以使用以下命令在MacOS上安装
ripgrep
:brew install --formula ripgrep
。