shell脚本中的Unix子字符串?
我有一个像sample.txt.pgp这样的字符串,我想在shell脚本中返回sample.txt(但是,字符串长度会有所不同,因此,基本上是“.pgp”之前的所有字符)。有 substr 函数吗?就像,如果我执行了 substr('sample.txt.pgp', -4, 0)
,它是否应该返回sample.txt?现在不是,所以我想知道我的语法是否错误,或者 substr 不是函数?
I have a string like sample.txt.pgp and I want to return sample.txt in a shell script (but, the string length will vary, so, basically all of the characters before the ".pgp"). Is there a substr function? Like, if I did substr('sample.txt.pgp', -4, 0)
, is it supposed to return sample.txt? Right now it isn't, so I'm wondering if I have the syntax wrong, or maybe substr isn't a function?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用
basename
:如果需要,可以使用反引号或
$()
将结果放入变量中:You can use
basename
:Use backticks or
$()
to put the result in a variable if you want:我相信,
文件名sample.txt.pgp
返回sample.txt。(使用反引号)
filename sample.txt.pgp
returns sample.txt, I believe.(use backticks)