awk grep sed 的一些问题
条件 匹配 打印含关键字的行
ps aux | sort -k 4 -r | awk '$4 ~ /^[0-9]/ && $4>0 {print $4,$11}'
zzx@zzx134:~$ ll |awk '$5>102400 {print $9}' #打印大小大于100k的文件名
zzx@zzx120:~/test1$ cat 2
11
22
hi i am zzx
hello world
zzx@zzx120:~/test1$ cat 2|awk '{if($0~/[0-9]/) {print $0}}' #最好吧if(){}都带上
11
22
zzx@zzx120:~/test1$ cat 2|awk '{if($0~/[^0-9]/) {print $0}}'
hi i am zzx
hello world
zzx@zzx120:~/test1$ echo 1|awk '{if($0~/[0-9]/) print "ok"}' # echo 1|awk '{if($0~/[0-9]/) {print "ok"}}'
ok
zzx@zzx120:~/test1$ echo 1|awk '{if($0~/[^0-9]/) {print "ok"} else {print "NO"}}'
NO
zzx@zzx120:~/test1$ echo "12 am hello"|awk '{if($2=="4"){print $2}else{print "not"}}'
not
zzx@zzx120:~/test1$ cat 2 |awk '$1>10 {print $0}'
11
22
hi i am zzx
hello world
zzx@zzx120:~/test1$ awk '{if($2=="i") print $0}' 2 # $2="i"是赋值
hi i am zzx
zzx@zzx120:~/test1$ awk '($2=="i") {print $0}' 2
hi i am zzx
zzx@zzx120:~/test1$ grep "\<22\>" 2 #精确匹配
22
zzx@zzx120:~/test1$ grep \<lo\> 2
zzx@zzx120:~/test1$ grep “lo” 2
hello world
zzx@zzx120:~/test1$ grep "\<am\>" 2
hi i am zzx
zzx@zzx120:~/test1$ sed -n '/zx/p' 2 # 包含
hi i am zzx
打印指定行
zzx@zzx120:~/test1$ sed -n '1,3p' 2 #打印1到3行 不能用1-3
11
22
hi i am zzx
zzx@zzx120:~/test1$ awk 'NR==3 {print $0}' 2 #打印第三行(行数为3的行)
hi i am zzx
zzx@zzx120:~/test1$ awk 'NF==2 {print $0}' 2 #打印列数为2的行
hello world
替换
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)