四剑客 cut

博客介绍了Linux中awk、cut命令及正则表达式的使用。awk可用于筛选和处理文本,如打印特定用户信息、内存和CPU使用情况等;cut用于选区数据,可按字节、字符或自定义分隔符分隔;正则表达式用于匹配特定模式,还给出了截取IP地址的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cat /etc/passwd |awk -F: '$3>=500{print $1 “\t” $7}'打印出passwd中用户UID大于500的用户名和登录shell
cat /etc/passwd |awk -F: '$3>=500 && $7=="/bin/bash" {print $1 “\t” $7}‘打印出passwd中用户UID大于500的用户名和登录shell并且是普通用户
cat /etc/passwd |awk -F: ’ BEGIN{print “查询的结果是:”}$3>=500 && $7=="/bin/bash" {print $1 “\t” KaTeX parse error: Expected 'EOF', got '}' at position 2: 7}̲ END{print "嗯,是…" |awk ‘{print $5}’|sed ‘s/%//g’ 打印出内存使用情况 sed是多余的只是为了去掉百分号
awk ’ NF>2{ print NR “\t” NF “\t” $0}’ file.txt 打印出file文件内 字符数大于2的行以及行号
route -n |awk 'NF!=1{print }'打印出网关信息不显示第一行
awk -F: ‘/root/’ /etc/passwd 找出root用户
awk -F: ‘!/root/’ /etc/passwd 找出不是root的用户
awk ‘{ if(KaTeX parse error: Expected group after '^' at position 4: 0~/^̲/)print NR }’ file.txt 打印出文件中的空行的行号 ~匹配的意思 ^$ 代表空行
awk -F: ‘{if($3>100)print “LARGE”;else print “SMALL”}’ /etc/passwd 用户UID大于100显示LARGE 小于100显示 SMALL

cut
cut是一个选区命令,就是讲一段数据经过分析,取出我们想要的。一般来说选取的信息是真的对“行”来进行分析的,并不是整篇信息的分析
-b 以字节分隔 一个字母一个字节
-c以字符分隔 一个汉字一个字符
-d自定义分隔符,默认为制表分隔符
-f与-d 一起使用,指定显示哪个区域
tail -3 /etc/passwd |cut -b 3,9-12 显示passwd 文件的后三行中的第3个字节和9-12字节
cut 有哪些缺陷
如果文件的某些域是由若干个空格来间隔的,那么用cut就有点麻烦了,因为cut只擅长“以一个字符间隔”的文本内容

正则表达式
^a在中括号外表示以a开头 $a表示以a结尾 /[^a-z]/表示必须有一个不在a到z范围呢的 /[a*]/表示出现零个a或者多个a ,/[a+]/表示至少要出现一个/[a?]/
表示 a可有可无,/a{3}/表示a必须要出现三次,/a{3,4}/表示a可以出现三次到四次,/ab{3,}c/表示b至少要出现三次,/(ab)+c/表示ab至少要出现两次

ifconfig |grep “inet addr” |grep -v “127.0.0.1”|awk ‘{print $2}’|awk -F"addr:" ‘{print $2}’ 截取ip地址
ifconfig |grep “inet addr” |grep -v “127.0.0.1”|awk ‘{print $2}’|awk -F"addr:" ‘{print $2}’|awk -F. '{print $1"-"$2"-"$3"-"KaTeX parse error: Expected 'EOF', got '}' at position 2: 4}̲' 打印ip并把.换成- …"| awk ‘{print $5}’| sed ‘s/%//g’ 打印出CPU使用情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值