awk '{$2=$NF;NF=2;gsub("\\|","\n"$1" ");gsub(";"," ")}1' filetest25.txt
时间: 2023-08-03 07:04:50 浏览: 50
这个awk命令的作用是提取文件 `filetest25.txt` 中的数据,并进行一些文本处理操作。以下是对该命令的解释:
```shell
awk '{$2=$NF;NF=2;gsub("\\|","\n"$1" ");gsub(";"," ")}1' filetest25.txt
```
在这个命令中,我们对每一行应用了一系列操作:
1. `$2=$NF`:将第二个字段设置为最后一个字段的值。
2. `NF=2`:将字段数限制为2,删除了除第一个和第二个字段之外的所有字段。
3. `gsub("\\|","\n"$1" ")`:使用`gsub`函数将竖线(`|`)替换为换行符(`\n`)、第一个字段和一个空格。
4. `gsub(";"," ")`:使用`gsub`函数将分号(`;`)替换为空格。
5. `1`:这是一个条件语句,始终为真。它触发默认的打印操作,即打印每一行。
综上所述,该awk命令将提取文件中的数据,并对数据进行处理,包括字段重置、分隔符替换等操作。最后,处理后的结果将被打印出来。
相关问题
nmcli -f SSID,SECURITY device wifi list | awk '!seen[ $1 ]++' | awk -F ' +' '{if (NF==0 || NF==1 || NF==2 || NF==3) {print $1,$2}}' 详解
这是一个使用nmcli命令列出可用WiFi网络的命令,并使用awk命令对输出进行处理的示例。具体来说,该命令使用nmcli命令列出可用的WiFi网络,并使用两个awk命令对输出进行处理。第一个awk命令使用一个数组来删除重复的SSID,并将结果传递给第二个awk命令。第二个awk命令使用正则表达式来过滤掉不需要的行,并打印出SSID和安全性信息。下面是该命令的详细解释:
```shell
nmcli -f SSID,SECURITY device wifi list | awk '!seen[ $1 ]++' | awk -F ' +' '{if (NF==0
解释一下Linux中 awk '$NF == "" {print $2, $1}' annuaire_temp.txt
这是一个awk命令的脚本,它用于处理文本文件annuaire_temp.txt。下面是脚本中各部分的解释:
- awk是一个文本处理命令,用于逐行处理输入文件并根据指定规则进行操作。
- '$NF == "" {print $2, $1}'是awk的操作规则,它包含两部分:
- $NF是awk内置变量,表示每一行的最后一个字段。这里的$NF == ""表示只选择最后一个字段为空的行。
- {print $2, $1}表示对于符合前面条件的每一行,输出该行的第二个字段和第一个字段,中间用空格分隔。
因此,该脚本的作用是从annuaire_temp.txt中选择最后一个字段为空的行,并输出这些行的第二个字段和第一个字段,中间用空格分隔。