【问题标题】:Remove brackets from phone number in run shell script从运行 shell 脚本中的电话号码中删除括号
【发布时间】:2016-10-31 23:45:32
【问题描述】:

我想为 mac 中的联系人应用程序创建一个自定义工作流程,以便我可以通过超链接拨打电话号码。

这些是我的设置:

服务在“contacts.app”中接收选定的“电话号码”

传递输入:作为参数

脚本:

open "http://example.com/dial.htm?number=${@}"

我的问题是一些电话号码自动用括号格式化,链接不起作用: +44(0)123 456 789

如何修改脚本,使电话号码不带括号清晰?

提前致谢

【问题讨论】:

  • 这里的(0)应该去掉吧?从英国境内拨打时,该号码以0 开头,在任何地方都以+44 开头。
  • 零应该保留。我需要的是数字序列,就像您在手机上手动拨打它们一样。 +440123456789。任何想法如何过滤和删除括号?
  • 您可以很容易地删除括号,但有效的英国电话号码以+440 开头,而括号通常用于显示0
  • 谢谢汤姆,我的电话号码已经是 +44。如何从 ${@} 字符串中删除括号?这就是我不知道该怎么做。
  • 好的,但我有义务告诉你,号码应该是+441234567890123456789。老实说,我对您使用的环境了解不多……这是sh 脚本吗?

标签: macos shell osx-elcapitan automator


【解决方案1】:

您可以使用sed 命令将()([0-9]) 替换为空:

#!/bin/sh

#Replace only brackets but keep the number inside the brackets
#URL=`echo http://example.com/dial.htm?number=${@}|sed 's/[()]//g'`

#Replace brackets with any number inside - i.e., (0)
URL=`echo http://example.com/dial.htm?number=${@}|sed 's/([0-9])//g'`

echo "${URL}"
##open ${URL}

测试:

./test.sh '+123(0)223465'
http://example.com/dial.htm?number=+123223465

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-22
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多