免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7945 | 回复: 13
打印 上一主题 下一主题

xargs 输出时怎样用逗号隔开数据,而非空格?(已解决) [复制链接]

论坛徽章:
1
狮子座
日期:2013-12-16 16:09:24
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-19 15:25 |只看该作者 |倒序浏览
RT
像pkill这种命令希望输入的pid使用“,”隔开的,用xargs传入只能处理一个数据

答案在
http://bbs.chinaunix.net/thread-1631441-1-1.html
三楼

[ 本帖最后由 ttcn_cu 于 2009-12-21 15:54 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2009-12-19 17:23 |只看该作者
请举例说明

论坛徽章:
0
3 [报告]
发表于 2009-12-19 17:32 |只看该作者

回复 #1 ttcn_cu 的帖子

先用sed或者tr过滤替换下?呵呵

[ 本帖最后由 mwm5 于 2009-12-19 17:33 编辑 ]

论坛徽章:
1
狮子座
日期:2013-12-16 16:09:24
4 [报告]
发表于 2009-12-19 17:50 |只看该作者
原帖由 寂寞烈火 于 2009-12-19 17:23 发表
请举例说明


恩,源数据是ps的输出 (家里电脑是cygwin,ps命令比较搓,linux的那个比较简洁,不用awk处理)
ps --s | awk '{print $1}' | tail -n+2 | xargs
4928 6048 5700 3276 3664 5548 5416

得到的结果是用空格隔开的一个个数字
我期望的结果是用“逗号”隔开的数字

4928,6048,5700,3276,3664,5548,5416

因为我的后续命令式pkill, 期望的参数要用逗号隔开

论坛徽章:
0
5 [报告]
发表于 2009-12-19 21:54 |只看该作者
简单,但多个尾巴
ps --s | awk '{print $1","}' | tail -n+2 | xargs

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2009-12-19 23:55 |只看该作者
ps --s | awk '{print $1}' | tail -n+2 | xargs|tr ' ' ','

论坛徽章:
1
狮子座
日期:2013-12-16 16:09:24
7 [报告]
发表于 2009-12-20 00:34 |只看该作者

回复 #6 寂寞烈火 的帖子

你们这不是逼我用perl么。。。

论坛徽章:
0
8 [报告]
发表于 2009-12-20 08:18 |只看该作者
没人逼你,已经3个管了,多一管算什么

ps --s | awk 'NR==2{printf $1}NR>2{printf ","$1}END{print ""}'

论坛徽章:
0
9 [报告]
发表于 2009-12-20 12:13 |只看该作者

回复 #7 ttcn_cu 的帖子

嫌长了?你起了个头,大伙只不过跟着你的意思走而已

论坛徽章:
1
狮子座
日期:2013-12-16 16:09:24
10 [报告]
发表于 2009-12-20 12:47 |只看该作者
呵呵,我不是嫌大家的解法
我个人是倾向于如果能解决问题,就用打字最少的解法。
请看下面的linux上的写法:(可能有拼写错误),多简洁呀
ps -o pid --no-heading | xargs

之所以抛这个问题,是不相信xargs这点小事的都办不了,以为自己看manual不细,现在看来真的没希望了。。。

长的那个是cygwin。。。工作时不用的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP