linux命令---cut与awk的用法

1.Linux cut命令用于显示每行从开头算起 num1 到 num2 的文字。

  • -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
  • -c :以字符为单位进行分割。
  • -d :自定义分隔符,默认为制表符。
  • -f :与-d一起使用,指定显示哪个区域。

当你执行who命令时:(who用来查询当前系统有哪些用户正在使用)

想要截取每行的第三列信息:

2.Linux中awk命令具有查找、截取的用法

语法:awk options 'pattern {action}' file
  • options:是一些选项,用于控制 awk 的行为。
  • pattern:是用于匹配输入数据的模式。如果省略,则 awk 将对所有行进行操作。
  • {action}:是在匹配到模式的行上执行的动作。如果省略,则默认动作是打印整行。

options 常用参数说明:

  • -F <分隔符> 或 --field-separator=<分隔符>: 指定输入字段的分隔符,默认是空格。使用这个选项可以指定不同于默认分隔符的字段分隔符。

  • -v <变量名>=<值>: 设置 awk 内部的变量值。可以使用该选项将外部值传递给 awk 脚本中的变量。

练习:

test.txt

No Mark Percent
01 69 91
02 71 87
03 68 98
 

打印整个文件信息:awk '{print}' test.txt

打印特定列:awk '{print $1, $2}' test.txt

使用分隔符指定列:awk -F',' '{print $1, $2}' test.txt

准备数据:

No,Mark,Percent
01,69,91
02,71,87
03,68,98

打印行数:awk '{print NR, $0}' test.txt

NR(Number of Records)表示当前记录的行号。awk 处理文件时,会逐行读取文件中的内容。NR 变量用于跟踪当前正在处理的是第几行。从文件的第一行开始,NR 的值依次递增。

$0 表示当前行的整个内容。awk 在处理每一行时,会将整行的文本存储在 $0 变量中。换句话说,$0 包含了当前行的全部数据。

使用示例:问题:获取ip地址的命令,只输出ip地址 ip addr|grep 'inet'|awk '{print $2}'|cut -d/ -f1

ip addr用于查询ip

grep 'inet'用于匹配ip地址

awk '{print $2}'用于输出第二个字段,默认以空格分隔

cut -d/ -f1 用于以/分隔ip和掩码截取ip地址

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值