【问题标题】:Exclude matched character from output从输出中排除匹配的字符
【发布时间】:2015-10-19 17:19:22
【问题描述】:

我有一个带有一个参数的脚本外壳。

./script.sh 121-0/2/3

我只想在“-”之后打印:

输出:

0/2/3

如何在 shell 中做到这一点??

【问题讨论】:

    标签: shell


    【解决方案1】:

    寻找$ { variable # pattern } 如果模式与变量值的开头匹配,则删除匹配的最短部分并返回其余部分。

    在你的情况下:

    var = $1 #(command line argument)
    res = ${var # *-} #Wrong: spaces
    res = ${var#*-} #gives your response
    

    比如你可以查一下here

    【讨论】:

    • 我试过了,但它不起作用 ${port # *-}: bad replacement
    • 这个解决方案给出的孔线是 121-0/2/3 而不是 0/2/3
    • 我在我的 shell 中工作得很好。 echo $res 给了我想要的:0/2/3
    • 谢谢它现在可以工作了......我没有提供正确的参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    相关资源
    最近更新 更多