IPアドレスがホスト名の後に続くように、次の(APIの出力)をどのように印刷しますか?
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
1つのタブで両方の行を結合します。
答え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
2つの出力列に入ってくる行(から)が配布されます。
区切り文字はタブですが、optionsで変更できます-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