linux - grep 命令不能正常工作

标签 linux bash search grep cut

我正在尝试从中提取值(value)

在 File.txt 中:

116206K->13056K(118080K), 0.0879950 secs][Tenured:274796K->68056K(274892K), 0.2713740 secs] 377579K->68056K(392972K), [Perm :17698K->17604K(17920K)], 0.3604630 secs]

我尝试提取

cat File.txt | grep 'Perm '| cut -d',' -f3|cut -d'(' -f2 |cut -d')' -f 1

这里有什么问题。因为我正在尝试我得到了

392972K 从 377579K->68056K(392972K)

但我应该从 [Perm :17698K->17604K(17920K)] 17920

最佳答案

一个快速修复,将 -f3 更改为 -f4,因为您需要的字段出现在 之后 第 3 个逗号:

cat File.txt | grep 'Perm '| cut -d',' -f4|cut -d'(' -f2 |cut -d')' -f 1
                                        ^^

您还可以将 sed 用作:

grep 'Perm' File.txt | sed -r 's/.*Perm :.*\((.*?)\).*/\1/'

Working link

关于linux - grep 命令不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3996090/

相关文章:

可以在单线程进程中的两个连续 C 语句之间修改堆上的内存吗

python - 将文件夹中的文件批处理为 Python 脚本参数

search - Notepad++ 用于在所有打开的文档中查找全部的快捷方式

c# - 使用文件名检查目录中文件是否存在的快速方法

arrays - Swift 中 O(log n) 时间的中间数

linux - 从需要认证的页面下载网页源码

c++ - 未定义对 `i2c_smbus_read_block_data(int, unsigned char, unsigned char*)'的引用

regex - 正则表达式 Bash

bash - 如何将bash变量传递给字符串?

linux - 防止 ssh 分解 shell 脚本参数