使用awk命令获取命令或文本的行、列

以ll为例说明

1、打印命令的第1列: ll | awk '{print $1}';

   打印文档的第1列: awk '{print $1}' filename
2、打印命令的前2列: ll | awk '{print $1, $2}'
   打印文档的前2列: awk '{print $1,$2}' filename
3、打印完命令第一列,然后打印第2列:ll | awk '{print $1 $2}';
   打印完文本第一列,然后打印第2列:awk '{print $1 $2}' filename;
4、打印文本文件的总行数 : awk 'END{print NR}' filename
   打印命令的总行数:ll | awk 'END{print NR}'
5、打印文本第一行 :awk 'NR==1{print}' filename
   打印命令的非第一行:ll | awk 'NR!=1{print}'
6、打印文本第二行第一列 :sed -n "2, 1p" filename | awk 'print $1'
   打印命令的第3行第9列:ll | awk 'NR==3{print}' | awk '{print $9}'
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 可以使用`awk`命令的 `$NF` 变量来获取命令输出内容的最后一,其中`NF`表示字段数量, `$NF` 表示最后一个字段。 假设你要获取`ps`命令的输出中最后一,你可以使用以下命令: ``` ps | awk '{print $NF}' ``` 在这个命令中,`ps` 命令的输出通过管道传递给 `awk` 命令,然后 `awk` 命令打印的最后一个字段。 如果你要获取一个文件中每的最后一个字段,你可以使用类似的命令: ``` awk '{print $NF}' filename ``` 在这个命令中,`awk` 命令会打开 `filename` 文件,并打印的最后一个字段。 ### 回答2: 在awk指令中,可以使用通用字段分隔符(FS)来读取输入文本的每一,并使用$符号引用每个字段。要获取命令输出内容中的最后一,可以使用$NF关键字来引用最后一个字段。 可以通过以下命令获取命令输出内容的最后一: ```shell 命令输出 | awk '{print $NF}' ``` 其中,“命令输出”是你要获取最后一命令命令。也可以将命令输出重定向到输入文件中,然后使用awk命令来处理文件内容。 例如,要获取ls命令的输出内容中的最后一文件名,可以使用以下命令: ```shell ls | awk '{print $NF}' ``` 这将打印出当前目录下每个文件的文件名。假设当前目录只有一个文件“file.txt”,则命令的输出将是“file.txt”。 注意,以上命令中的字段分隔符默认是空格。如果需要使用其他分隔符,可以使用-F选项来指定。例如,如果文件中的字段是以逗号分隔的,可以使用以下命令: ```shell 命令输出 | awk -F ',' '{print $NF}' ``` 这将打印出以逗号分隔的每的最后一个字段。 ### 回答3: AWK是一种功能强大的文本处理工具,可以轻松处理文本文件和命令输出。要从命令输出内容中获取最后一,可以使用AWK字段分隔和打印功能。 AWK默认以空格作为字段分隔符,因此可以使用$NF变量来表示最后一个字段。$NF代表当前的最后一个字段,无论此包含多少个字段。 下面是使用AWK指令获取命令输出内容中最后一的基本语法: ``` command | awk '{print $NF}' ``` 其中,command是生成命令输出的实际命令。该命令的输出作为管道输入传递给AWK指令。`{print $NF}`用于告诉AWK指令打印每一的最后一个字段。 例如,如果我们有一个命令输出内容如下: ``` Name Age Gender John 25 Male Lucy 28 Female ``` 运以下命令: ``` echo -e "Name Age Gender\nJohn 25 Male\nLucy 28 Female" | awk '{print $NF}' ``` 将输出: ``` Gender Male Female ``` 这样就可以获取命令输出内容中的最后一了。 需要注意的是,这个方法仅适用于命令输出内容之间以空格分隔字段的情况。如果字段分隔符是其他字符,可以使用AWK的-F选项指定不同的字段分隔符。 希望以上解答对您有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值