2017-10-18 4 views
0

동일한 행에 awk 출력을 인쇄하는 방법은 무엇입니까? 나는 두 개의 라인 출력을 얻을 두 번째 모니터,동일한 행에 awk 출력을 인쇄하십시오.

$ 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를 사용 : 나는 anubhava 게시 된 것과 유사하다이 솔루션을 발견

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

니스! 그 해결책은 잘 작동하는 것 같습니다. – tluafed

0

.

$ 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}')