Chinaunix首页 | 论坛 | 博客
  • 博客访问: 142640
  • 博文数量: 12
  • 博客积分: 45
  • 博客等级: 民兵
  • 技术积分: 194
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-03 13:16
文章分类

全部博文(12)

文章存档

2015年(3)

2014年(8)

2013年(1)

分类: 系统运维

2014-06-10 23:27:48

工作中经常用到xargs在管道符后面传递参数给命令执行,今天在处理数据时发现原来xargs还有更牛逼的功能。

1. 将多行数据变成一行
   这就是今天我用到的功能,在处理nginx upstream模块数据时需要做个生成配置:

点击(此处)折叠或打开

  1. ~]$ echo -ne 'server 192.168.1.1:80;\nserver 193.168.2.10:80;\n'
  2. server 192.168.1.1:80;
  3. server 193.168.2.10:80;
  4. ~]$ echo -ne 'server 192.168.1.1:80;\nserver 193.168.2.10:80;\n'|xargs|sed 's/; /&\\n/g'
  5. server 192.168.1.1:80; \nserver 193.168.2.10:80;
2. 把单行数据变成多行

点击(此处)折叠或打开

  1. ~]$ echo -ne "1 1 2 2 3 3\n"
  2. 1 1 2 2 3 3
  3. ~]$ echo -ne "1 1 2 2 3 3\n"|xargs -n 2
  4. 1 1
  5. 2 2
  6. 3 3

阅读(1784) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~