使用awk取出pid=[xxx]中xxx的值
时间: 2023-12-01 13:04:53 浏览: 32
可以使用awk的正则表达式来匹配pid的值,然后使用gsub函数将方括号和等号去掉,最后输出匹配到的值。
假设需要从以下字符串中取出pid的值:
```
message from pid=[123456] to pid=[789012]
```
可以使用如下命令:
```
echo "message from pid=[123456] to pid=[789012]" | awk -F'[][]' '{print $2}' | awk -F= '{print $2}'
```
输出:
```
123456
```
解释:
- `-F'[][]'`:指定awk的分隔符为方括号。
- `'{print $2}'`:取出第二个字段,即pid的值和等号。
- `awk -F= '{print $2}'`:再次指定分隔符为等号,取出pid的值。
相关问题
awk filename==
`awk`是一种文本处理工具,可以用于对文本文件进行各种操作。`filename==`这个命令不完整,缺少后面的条件语句,无法执行。一般情况下,`awk`命令会以以下的格式使用:
```
awk 'pattern { action }' filename
```
其中,`pattern`是一个条件语句,用于匹配文件中的某些内容;`action`是一个动作序列,用于在满足条件的情况下执行的一系列操作;`filename`则是要处理的文件名。
举个例子,如果我们想要在文件`example.txt`中查找包含字符串`hello`的行,并把这些行输出到屏幕上,可以使用以下命令:
```
awk '/hello/ { print }' example.txt
```
这样,`awk`就会在`example.txt`中查找包含`hello`的行,并将这些行输出到屏幕上。
可用内存剩余:{`free -h | awk 'NR==2{print $4}'`} 可用缓存剩余:{`free -h | awk 'NR==2{print $6}'`} 可用虚拟内存剩余:{`free -h | awk 'NR==3{print $4}'`}
我看到你的第一个问题是关于系统内存的查询,可用内存剩余为`{free -h | awk 'NR==2{print $4}'}`,可用缓存剩余为`{free -h | awk 'NR==2{print $6}'}`,可用虚拟内存剩余为`{free -h | awk 'NR==3{print $4}'}`。是否还有其它需要帮助的地方呢?