2017-10-18 25 views
0

awk出力を同じ行に出力するにはどうすればいいですか?同じ行にawk出力を出力する

私は私のモニタの解像度を印刷し、これを使用しています:私は2行に出力を得るセカンドモニタ、

$ xrandr | awk '/\*/{print $1}' 

1920x1200 
1600x1050 

を接続すると

$ xrandr | awk '/\*/{print $1}' 

私は出力を持っていると思います同じ行にしたがって、次のようになります。

Monitor sizes: 1920x1200 1600x1050 

私はこれを最も単純な方法で行いますか?

+1

'xrandrを| awk '/ \ */{printf "%s"、$ 1}';エコー」 – anubhava

+0

ああ私はこれが大好きです。 – tluafed

答えて

0

xargsをコマンドに追加することができます。ここで

$ xrandr | awk '/\*/{print $1}' | xargs 

grepxargsを使用して代替コマンドです:

$ grep -o '[0-9]\+x[0-9]\+' <(xrandr) | xargs 
1440x878 2880x1800 1440x900 2560x1600 2048x1280 1024x768 800x600 640x480 1680x1050 1280x800 1440x878 

またはechoを使用して:

$ echo Monitor sizes: $(grep -o '[0-9]\+x[0-9]\+' <(xrandr)) 
Monitor sizes: 1440x878 2880x1800 
+0

ニース!これらのソリューションはうまくいくようです。 – tluafed

0

私がanubhava掲示ものと同様である。この解決策を発見しました。

$ xrandr | awk '/\*/{printf $1" "}' 
    1920x1200 1600x1050 
+0

@anubhavaは両方のサイズの後に改行の 'echo'を追加しました。別の方法は 'awk'文' END {print} 'を追加することです。 –

0

pasteを知っていいです:

xrandr | awk '/\*/{print $1}' | paste - - 

あなたはまたechoをIUSEことができます。

echo $(xrandr | awk '/\*/ {print $1}') 
関連する問題