0

嗨,我有一条线要解析。这条线看起来像这样

经纪人 Edward C. Anderson ~ 813.841.2773 ~ ed@action100realty.com

我是 awk 的新手,并试图做我的研究。我看到您可以使用 sub() 和 gsub 来执行此操作。我正在尝试将这三条信息放入我的姓名电话和电子邮件的输出中。我在想我可以使用正则表达式从 ~ 之前和之间和结尾处获取内容,但不确定。

4

3 回答 3

1

计划 ol' bash:

echo "Edward C. Anderson, Broker ~ 813.841.2773 ~ ed@action100realty.com" | 
while IFS='~' read -r name phone email; do 
    echo "name is $name, phone is $phone and email is $email" 
done
于 2013-05-24T21:40:53.387 回答
0

使用 的-F开关awk,例如。获取名称(第一位置):

echo "Edward C. Anderson, Broker ~ 813.841.2773 ~ ed@action100realty.com" |
    awk -F'~' '{print $1}'
于 2013-05-24T20:48:25.080 回答
0
echo "Edward C. Anderson, Broker ~ 813.841.2773 ~ ed@action100realty.com" | awk -F'[~,]' '{print $1,$3,$4}'

Edward C. Anderson  813.841.2773   ed@action100realty.com
于 2013-05-24T20:57:18.853 回答