使用awk命令获取文本的某一行,某一列

1、打印文件的第一列(域)                 : awk '{print $1}' filename
2、打印文件的前两列(域)                 : awk '{print $1,$2}' filename
3、打印完第一列,然后打印第二列  : awk '{print $1 $2}' filename
4、打印文本文件的总行数                : awk 'END{print NR}' filename
5、打印文本第一行                          :awk 'NR==1{print}' filename
6、打印文本第二行第一列                :sed -n "2, 1p" filename | awk 'print $1'

    shell里面的赋值方法有两种,格式为
    1) arg=`(命令)`
    2) arg=$(命令)
因此,如果想要把某一文件的总行数赋值给变量nlines,可以表达为:
    1) nlines=`(awk 'END{print NR}' filename)`
或者
    2) nlines=$(awk 'END{print NR}' filename)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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选项指定不同的字段分隔符。 希望以上解答对您有帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值