gpt4 book ai didi

unix - 在 korn shell 中获取字符串的子字符串

转载 作者:行者123 更新时间:2023-12-03 15:48:26 26 4
gpt4 key购买 nike

我必须使用 ksh88 提取子字符串。 (顺便说一句,查找 ksh $KSH_VERSION 版本的简单方法对我不起作用。我不得不使用

 [ "`echo "\c" | grep c`" ] && echo ksh93 || echo ksh88

我尝试使用命令 echo ${stringvariable : 2: 2} 但它说 bad substitution。我是 Unix 世界的新手。这是我为得到结果所做的:

我已经使用 PUTTY 登录到 Unix 并输入了上述命令。我也尝试了第一个 ksh 命令,然后是我的命令,但仍然没有成功。是不是我做错了什么?

另外,如果我希望子字符串从位置 2 开始直到结束,该怎么做?

最佳答案

空格在 shell 中很重要。你应该使用

$ stringvariable="foobar"
$ echo ${stringvariable:2:2}
ob

注意:这适用于 ksh93,不适用于 ksh88

如果你的单词是空格分隔的,你可以使用 set:

$ stringvariable="foo bar baz zap"
$ set -- $stringvariable
$ echo $3
baz

这应该总是优于 cut 的无用 fork 。使用 cut 获取字符串中的字符相当于使用 40 吨卡车购买和运输一 block 方糖的编程。

关于unix - 在 korn shell 中获取字符串的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32774586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com