ps와 Date를 한 줄에 파일로 출력하시겠습니까?

ps와 Date를 한 줄에 파일로 출력하시겠습니까?

기본 로깅 스크립트를 작성 중이며 다음의 출력을 캡처하고 싶습니다.ps up 12345

지금까지 나는 다음을 가지고 있습니다 :

DATE2=`date +%Y-%m-%d:%H:%M:%S`
echo ${DATE2} >> $filename

ps up 12345 --no-headers >> $filename

이것은 내가 원하는 정보를 세 줄로 제공합니다(1=날짜, 2=ps 3=빈 줄로 출력).

그러나 이상적으로는 이러한 내용을 한 줄에 캡처하고 싶습니다. 그것들을 결합하고 빈 줄을 무시하는 방법이 있습니까?

답변1

ps 출력을 변수에 저장하고 echo 또는 printf를 사용하여 쓸 수도 있습니다.

DATE2=`date +%Y-%m-%d:%H:%M:%S`
PS_RESULT=`ps up 12345 --no-headers`

printf "%s: %s" "${DATE2}" "${PS_RESULT}" >> $filename

참고로, 이 구문은 중첩될 수 있으므로 언제 사용할 수 있는지 $(command)보다는 익숙해지는 것이 유용할 수 있습니다 .`command`

답변2

한 가지 해결책은 첫 번째 문자열 끝에 개행 문자를 인쇄하지 않는 것입니다. 공간이 필요할 수도 있습니다.

echo -n "${DATE2} " >>"$filename"

관련 정보