Cut
如何使用 cut 獲取 /proc/pid/maps 的最後一個欄位?
我需要對程序載入的 .so 列表進行一些處理。我嘗試使用空格作為分隔符進行剪切,但沒有成功。如何正確地將 cat /proc/PID/maps 的輸出通過管道傳輸到 cut 以獲取最後一個欄位?
獲得最後一個欄位通常有點棘手。選項是
awk '{print $NF}' /proc/PID/maps
(請注意,
awk
返回帶有條目的最後一個欄位,這將返回0
而不是 inode=0 條目的空欄位)或通過選擇中間的第一個欄位來雙重反轉一條線:
rev /proc/PID/maps | cut -d' ' -f1 | rev
用於
grep
匹配除空格以外的字元,然後匹配到行尾:grep -o '[^ ]*$' /proc/PID/maps
您可以依靠
maps
’ 固定填充:cut -c74- /proc/.../maps
(在 64 位平台上)。
在所有情況下提取最後一個欄位,例如with
awk '{ print $NF }'
,maps
由於行可以省略支持文件或使用 (“$$ heap $$”等)完全。