如何打印以下内容(从 API 输出),以便 IP 地址位于主机名之后
kafka02.ur.com
102.16.235.69
master01.ur.com
102.16.235.61
master02.ur.com
102.16.235.62
例子
kafka02.ur.com 102.16.235.69
master01.ur.com 102.16.235.61
master02.ur.com 102.16.235.62
答案1
使用sed
:
sed -e 'N;s/\n/\t/' in.txt
将每两行用单个制表符连接在一起
答案2
$ paste - - <file
kafka02.ur.com 102.16.235.69
master01.ur.com 102.16.235.61
master02.ur.com 102.16.235.62
该paste
命令与 一起使用时- -
将从标准输入读取并将传入行(来自file
)分布在两列输出中。
分隔符将是制表符,但这可以通过选项更改-d
。
与awk
(根据要求):
$ awk '{ printf("%s\t", $0) } { getline } { print }' file
答案3
和awk
:
awk '{getline x; printf("%s\t%s\n", $0, x)}' file.txt
getline x
获取下一条记录并保存为变量x
printf("%s %s\n", $0, x)
以所需格式打印记录
例子:
% cat file.txt
kafka02.ur.com
102.16.235.69
master01.ur.com
102.16.235.61
master02.ur.com
102.16.235.62
% awk '{getline x; printf("%s\t%s\n", $0, x)}' file.txt
kafka02.ur.com 102.16.235.69
master01.ur.com 102.16.235.61
master02.ur.com 102.16.235.62