awk 每4行取第二行
时间: 2023-10-12 08:02:43 浏览: 241
你可以使用 awk 命令的 NR(行号)和 FNR(每个文件的行号)来实现每4行取第二行的操作。下面是一个示例命令:
```shell
awk 'NR%4==2' filename
```
这个命令将会读取名为 `filename` 的文件,并打印出每4行中的第二行。你可以将 `filename` 替换为你想要操作的文件名。
相关问题
awk 取一行中最大值
可以用 awk 的内置函数来实现:
假设有以下文件内容:
```
10 20 30 40 50
```
可以使用以下命令来取一行中最大值:
```
awk '{max=$1; for(i=2;i<=NF;i++) if($i>max) max=$i; print max}' filename
```
解释如下:
- `max=$1`:先将第一个字段赋值给变量 `max`,作为初始值。
- `for(i=2;i<=NF;i++) if($i>max) max=$i`:通过循环遍历每个字段,如果当前字段的值大于 `max`,则将该字段的值赋给 `max`。
- `print max`:最后输出变量 `max` 的值,即一行中最大值。
awk从某个字段开始取
可以使用awk的子字符串函数`substr()`来从某个字段开始取子串。假设你要从第2个字段开始取子串,可以这样写:
```
awk '{print substr($0, index($0,$2))}' filename
```
其中,`$0`表示整行文本,`$2`表示第2个字段,`index($0,$2)`返回第2个字段在整行文本中的起始位置,`substr($0, index($0,$2))`表示从起始位置开始取子串。这个命令会输出每行文本从第2个字段开始到结尾的内容。
阅读全文