두 Linux 명령의 결과를 한 줄에 연결하는 쉬운 방법이 있습니까(즉, 변수를 사용하지 않고)?
근처 기상 관측소에서 지역 실외 온도를 얻습니다. 오늘의 결과는 다음과 같습니다.
5.2
단지 단위를 추가하고 싶기 때문에 결과는 다음과 같습니다.
5.2°C
내가 원하는 것을 거의 제공하는 예제 명령은 다음과 같습니다.
wget -q -O- "http://meteocentre.com/montreal/home_e.html" | grep -oP '(?<=Tn= ).*(?=°)' ; printf "°C\n"
답변1
또는 내부에서 밖으로 진행합니다.
printf "%s°C\n" "$(wget -q -O- "http://meteocentre.com/montreal/home_e.html" | grep -oP '(?<=Tn= ).*(?=°)')"
wget...|grep...
명령 대체로 결과를 수집 하여 %s
.printf
답변2
echo
예를 들어, 제공한 모든 매개변수를 인쇄하면 됩니다. 명령 대체를 사용하여 명령 출력을 문자열로 변환할 수 있습니다.
echo $(wget -q -O- "http://meteocentre.com/montreal/home_e.html" | grep -oP '(?<=Tn= ).*(?=°)') °C
답변3
출력 끝에서 캐리지 리턴을 제거하십시오 wget
.
wget -q -O- "http://meteocentre.com/montreal/home_e.html" | grep -oP '(?<=Tn= ).*(?=°)' | tr -d '\n' ; printf "°C\n"
답변4
하나의sed
Stephen Kitt가 제안한 것처럼 이것이 질문에 대한 정확한 대답은 아니지만 ...
$ wget -q -O- "http://meteocentre.com/montreal/home_e.html" | sed -n 's/.*Tn= \(.*\)°.*/\1°C/p'
3.8°C
\1
대괄호 안의 일치하는 콘텐츠에 대한 역참조입니다.
바라보다이 답변-n
와 의 조합이 미치는 영향을 설명합니다 /p
.