Cut

如何使用 cut 獲取 /proc/pid/maps 的最後一個欄位?

  • December 8, 2021

我需要對程序載入的 .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 $$”等)完全。

引用自:https://unix.stackexchange.com/questions/680593