
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
MacOSベンチュラ13.4
zsh 5.9(x86_64-apple-darwin22.0)
GNU bash、バージョン 5.1.8(1)-リリース(x86_64-apple-darwin15.6.0)