awk 判断第一列等于logging0730 ,同时满足第二列小于10000 输出行 .第一列等于logging0730 ,同时满足第二列大于10000 输出 success
时间: 2024-05-09 11:18:58 浏览: 15
假设数据文件为data.txt,可以使用以下命令:
```
awk '$1=="logging0730" && $2<10000{print}' data.txt # 输出第一列等于logging0730,第二列小于10000的行
awk '$1=="logging0730" && $2>10000{print "success"}' data.txt # 输出第一列等于logging0730,第二列大于10000的行并打印success
```
解释:
- `$1` 表示第一列,`$2` 表示第二列
- `&&` 表示逻辑与
- `{print}` 表示打印整行
- `{print "success"}` 表示打印 success
- `data.txt` 表示输入的数据文件名
相关问题
awk 判断第一列等于logging0730 ,同时满足第二列小于10000 输出行 否则输出error
假设数据文件名为data.txt,可以使用如下的awk命令:
```
awk '$1=="logging0730" && $2<10000 {print} $1!="logging0730" || $2>=10000 {print "error"}' data.txt
```
解释:
- `$1=="logging0730"` 表示第一列等于"logging0730"
- `$2<10000` 表示第二列小于10000
- `print` 表示输出该行
- `$1!="logging0730" || $2>=10000` 表示第一列不等于"logging0730"或者第二列大于等于10000
- `"error"` 表示输出"error"字符串
以上命令会根据数据文件中每一行的第一列和第二列的值输出相应的内容。如果第一列等于"logging0730"且第二列小于10000,则输出该行;否则输出"error"字符串。
用awk筛选出第二列等于 "disk" 并且行中不包含 "/dev/nvme0n1" 的行
可以使用以下命令,在 awk 中同时筛选出第二列等于 "disk" 并且行中不包含 "/dev/nvme0n1" 的行:
```
awk '$2 == "disk" && !/\/dev\/nvme0n1/ {print}' file.txt
```
这个命令与之前的命令类似,只是删除了 `NR!=FNR` 条件,因为在这种情况下,我们不需要考虑输出文件的第一行。
因此,这个命令将从 file.txt 文件中筛选出第二列等于 "disk" 并且行中不包含 "/dev/nvme0n1" 的行,并将这些行打印出来。
如果 file.txt 文件的内容如下:
```
/dev/nvme0n1 disk1
/dev/sda disk
/dev/sdb disk
/dev/nvme0n2 disk2
```
那么这个命令的输出将是:
```
/dev/sda disk
/dev/sdb disk
```
这些是满足条件的行。