Linux-三剑客
2022/9/1 5:22:47
本文主要是介绍Linux-三剑客,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
grep
文本搜索
grep [option] pattern files -c: 只输出匹配行数 -i: 不区分大小写 -l:查询多文件时只输出包含匹配字符的文件名 -n: 显示行号 -s: 不显示不存在或无匹配文本的错误信息 -v: 反向搜索 -o: 只显示匹配的部分 -B<num>:同时显示匹配行前num行 -A<num>:同时显示匹配行后num行 -<num>: 同时显示匹配行的上下num行 -C<num>: 同时显示匹配行的上下num行 -w: 精确匹配,abc 只能匹配abc ,不能匹配abcd -e: 同时匹配多个,-e pattern1 -e pattern2,任意一个pattern匹配成功就输出 -q: 不显示匹配到的内容,只关心是否匹配成功,$?为0表示匹配成功,1表示失败 -E: 使用扩展正则表达式, -P:使用perl兼容的正则表达式
egrep:相当于grep -E
fgrep:不支持正则,速度快
三种正则比较
awk
文本处理,一行一行的读取,处理
awk 'BEGIN {command} pattern {commands} END{command}' file BEGIN: 数据处理前执行的命令 END: 处理数据后执行的命令 pattern: 模式,每一行都执行的命令 BEGIN和END里的命令都只执行一次, pattern里的命令每一行执行一次
-F :指定文本分隔符,默认空格。 # awk中的预定义变量 $0代表整行,$1-n,代表分隔后的第1到n个字段 NF: 字段数 NR: 行号 FS: 文本内容分隔符,优先级高于-F OFS: 输出分隔符,默认空格 # awk中的函数 print : 打印 printf: 格式化打印 %s: 字符串 %d: 数字 -:左对齐 +: 右对齐 15: 至少占用15个字符
比较表达式
匹配文本之内的内容
>, <, >=, <= ~: 正则匹配, !~: 正则匹配不包含 awk -F: '$4>$3 {print $0}' /etc/passwd awk 'BEGIN{FS=":"} $NF ~ /bash/ {print $0}' /etc/passwd
条件表达式:文本之外的内容
==, >, <, >=, <= && || ! awk -F: 'NR==3{print $0}' /etc/passwd
算术表达式
+, -, * , /, %
awk '$3+$4>2000{print $0}' /etc/passwd
流程控制
if: if(){} if(){}else{} if(){}else if{}else{} for: for(i=1;i<10;i++){} while: while(condition){} awk -F: '{if($3>$4){print "大于"}else{print "小于或等于"}}' /etc/passwd
sed
文本编辑
sed [选项] [动作] [inputfile] # 选项 -n: 只输出经过处理的行,默认情况下所有行都会输出 -i: 修改文件内容而不是输出到终端 -f: 把动作写到文件中 # 动作 a: 添加行,3a在第三行后面添加一行 i: 插入行,3i在第三行插入 c:取代行, 3c取代第三行 p: 列印,与-n连用只输出匹配的行 s: 替换, s/old/new/
这篇关于Linux-三剑客的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南