【发布时间】:2018-04-30 17:13:54
【问题描述】:
我正在做一个 ldapsearch 查询,它返回的结果如下
John Joe jjoe@company.com +1 916 662-4727 Ann Tylor Atylor@company.com (987) 654-3210 Steve Harvey sharvey@company.com 4567893210 (321) 956-3344 ...
您可以在每个个人记录输出之间看到一个空格,电话号码可能以 +1 开头,也可能在数字或括号之间有空格,最后在个人记录之间有两个空格。例如:
我想将这些条目转换为以下格式:
John,Joe,jjoe@company.com,(916) 662-4727
Ann,Tylor,Atylor@company.com,(987) 654-3210
Steve,Harvey,sharvey@company.com,(456) 789-3210,(321) 956-3344
...
所以基本上用一个逗号“,”替换一个空格,用一个逗号替换两个空格,这样最后我每行就有一个个人记录(逗号分隔)。示例:
我正在尝试 awk 并设法用 "," 替换,这使得
<blank><blank> to double comma ",,".
But can't figure out how to turn ",," to <RETURN>
2017 年 11 月 22 日 ----****** 更新 ******-------- 2017 年 11 月 22 日
我把这条赛道弄得太拥挤了。我将发布一个包含更多细节的新问题。
【问题讨论】:
-
你试过什么?你的尝试在哪里有问题?请将您的尝试和结果添加到问题中,以便我们知道您需要什么帮助。
-
另外,Shane Harvey 有两个电话号码吗?示例输入中最后一个电话号码前的双倍空格使其看起来像是一条新记录。
-
我在做:
ldapsearch -LLL -x -H ldaps:<ldapserver> -b "ou=people,dc=<domain>,dc=edu" -D uid=<id>,ou=applications,dc=<domain>,dc=edu -w <password> <some confidential info> givenname sn mail telephoneNumber | awk -F ":" '{printf $2}{printf "\n"}' | awk -F "uid" '{printf $1}' | tr " " "," -
您尝试过的内容是您问题的重要组成部分,应该包含在您的问题中,而不仅仅是事后添加到 cmets。下次您使用 StackOverflow 时,请考虑在问题中包含您目前所做的工作,我相信您会得到更多高质量的答案。
-
@ghoti 好点。这是我第一次提交(使用)StackOverflow。下次我一定会坚持你的建议!