VmRSS 값을 추출하고 싶지만 인쇄 시 선행 공백이 표시되어서는 안 됩니다.
renv@svr-ubt20-004:~$ cat /proc/607440/status | grep VmRSS
VmRSS: 20452 kB
tr
명령 을 시도 cut
하고 다음과 같은 결과를 얻었습니다.
renv@svr-ubt20-004:~$ cat /proc/607440/status | grep VmRSS | cut -d ':' -f 2 | tr -s " "
20452 kB
예상하다:
20452KB
이 목표를 달성하려면 도움이 필요합니다.
답변1
AWK는 이 모든 것을 처리할 수 있습니다.
awk '/VmRSS/ { print $2" "$3 }' /proc/607440/status
답변2
다음 중 하나를 시도해 보십시오.
sed -n 's/^VmRSS:\t//p' /proc/607440/status
awk 'sub(/^VmRSS:\t/,"")' /proc/607440/status
awk -F':\t' '$1=="VmRSS"{print $2}' /proc/607440/status
위 탭 은 압축하지 않았기 :
때문에 예제 입력의 나중 탭 이라고 가정합니다 . tr -s " "
이 가정이 잘못된 경우 POSIX 도구를 사용하십시오.
sed -n 's/^VmRSS:[[:space:]]*//p' /proc/607440/status
awk 'sub(/^VmRSS:[[:space:]]*/,"")' /proc/607440/status
awk -F':[[:space:]]+' '$1=="VmRSS"{print $2}' /proc/607440/status
답변3
진주:
~$ zsh
~% printf 'VmRSS:\t20452 kB' | perl -lpe 's/^VmRSS\:\t//;'
20452 kB
~% bash
~$ printf 'VmRSS:\t20452 kB' | perl -lpe 's/^VmRSS\:\t//;'
20452 kB
행복하다:
~$ zsh
~% printf 'VmRSS:\t20452 kB' | raku -pe 's/^VmRSS\:\t//;'
20452 kB
~% bash
~$ printf 'VmRSS:\t20452 kB' | raku -pe 's/^VmRSS\:\t//;'
20452 kB
또한 Raku에는 다양한 trim
, trim-leading
및/또는 기능이 내장되어 있습니다. trim-trailing
공백만 제거해야 하고 공백인지 탭인지 상관하지 않는 경우:
~$ zsh
~% printf 'VmRSS:\t20452 kB' | raku -pe 's/^VmRSS\://;' | raku -ne '.trim-leading.put;'
20452 kB
~% bash
~$ printf 'VmRSS:\t20452 kB' | raku -pe 's/^VmRSS\://;' | raku -ne '.trim-leading.put;'
20452 kB
맥OS 벤츄라 13.4
zsh 5.9 (x86_64-apple-darwin22.0)
GNU bash, 버전 5.1.8(1)-릴리스(x86_64-apple-darwin15.6.0)