在同一行打印 awk 输出
Print awk output on the same line
如何在同一行打印 awk 输出。
我正在使用它来打印我的显示器的分辨率:
$ xrandr | awk '/\*/{print }'
当我连接第二台显示器时,我在两条线上得到输出,
$ xrandr | awk '/\*/{print }'
1920x1200
1600x1050
我想在同一行输出。所以它看起来像这样:
Monitor sizes: 1920x1200 1600x1050
我该怎么做最简单?
您可以将 xargs
附加到您的命令,例如
$ xrandr | awk '/\*/{print }' | xargs
这是使用 grep
和 xargs
的替代命令:
$ 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
我找到了与 anubhava 发布的类似的解决方案。
$ xrandr | awk '/\*/{printf " "}'
1920x1200 1600x1050
很高兴知道paste
:
xrandr | awk '/\*/{print }' | paste - -
您也可以使用 echo
:
echo $(xrandr | awk '/\*/ {print }' )
如何在同一行打印 awk 输出。
我正在使用它来打印我的显示器的分辨率:
$ xrandr | awk '/\*/{print }'
当我连接第二台显示器时,我在两条线上得到输出,
$ xrandr | awk '/\*/{print }'
1920x1200
1600x1050
我想在同一行输出。所以它看起来像这样:
Monitor sizes: 1920x1200 1600x1050
我该怎么做最简单?
您可以将 xargs
附加到您的命令,例如
$ xrandr | awk '/\*/{print }' | xargs
这是使用 grep
和 xargs
的替代命令:
$ 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
我找到了与 anubhava 发布的类似的解决方案。
$ xrandr | awk '/\*/{printf " "}'
1920x1200 1600x1050
很高兴知道paste
:
xrandr | awk '/\*/{print }' | paste - -
您也可以使用 echo
:
echo $(xrandr | awk '/\*/ {print }' )