我从这样的命令输出一行:
[]$ <command> | grep "Memory Limit"
Memory Limit: 12345 KB
Run Code Online (Sandbox Code Playgroud)
我正试图拔出12345.第一步 - 用冒号分开 - 工作正常
[]$ <command> | grep "Memory Limit" | cut -d ':' -f2
12345 KB
Run Code Online (Sandbox Code Playgroud)
试图分开这是很棘手的.如何修剪空白以便cut -d ' ' -f1返回"12345"而不是空白?
Joh*_*ofy 12
将命令传递给awk,打印第3列,空格和第4列,如下所示
<command> | awk '{print $3, $4}'
Run Code Online (Sandbox Code Playgroud)
这导致:
12345 KB
Run Code Online (Sandbox Code Playgroud)
要么
<command> | awk '{print $3}'
Run Code Online (Sandbox Code Playgroud)
如果你想要裸体号码.
tr在这里有帮助。
$ echo "Memory Limit: 12345 KB" | tr -s " " | cut -d " " -f3
12345
Run Code Online (Sandbox Code Playgroud)
tr -s " " -将所有空间压缩为一个cut -d " " -f3 -按空格分为几列,然后选择第三列您可以使用awk并避免使用任何cut,sed或regex:
<command> | awk '/Memory Limit/{print $(NF-1)}'
12345
Run Code Online (Sandbox Code Playgroud)
/Memory Limit/将使此打印仅与Memory Limit文本一行$(NF-1)会让你last-1在输入领域.