工作中经常用到xargs在管道符后面传递参数给命令执行,今天在处理数据时发现原来xargs还有更牛逼的功能。
1. 将多行数据变成一行
这就是今天我用到的功能,在处理nginx upstream模块数据时需要做个生成配置:
-
~]$ echo -ne 'server 192.168.1.1:80;\nserver 193.168.2.10:80;\n'
-
server 192.168.1.1:80;
-
server 193.168.2.10:80;
-
~]$ echo -ne 'server 192.168.1.1:80;\nserver 193.168.2.10:80;\n'|xargs|sed 's/; /&\\n/g'
-
server 192.168.1.1:80; \nserver 193.168.2.10:80;
2. 把单行数据变成多行
-
~]$ echo -ne "1 1 2 2 3 3\n"
-
1 1 2 2 3 3
-
~]$ echo -ne "1 1 2 2 3 3\n"|xargs -n 2
-
1 1
-
2 2
-
3 3
阅读(1784) | 评论(1) | 转发(0) |