1. grep
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(匹配到的标红)。
代码语言:javascript复制grep [option] pattern file
复制代码
- v:显示不被pattern 匹配到的行,相当于[^] 反向匹配
- e :实现多个选项间的逻辑or 关系
- E:扩展的正则表达式
2. sed
sed主要用来自动编辑一个或多个文件, 简化对文件的反复操作.
代码语言:javascript复制sed [options] '[地址定界] command' file(s)
复制代码
options
- n:不输出模式空间内容到屏幕,即不自动打印,只打印匹配到的行
- e: 多点编辑,对每行处理时,可以有多个Script
- f:把Script写到文件当中,在执行sed时-f 指定文件路径,如果是多个Script,换行写
- r:支持扩展的正则表达式
- i:直接将处理的结果写入文件
- i.bak:在将处理的结果写入文件之前备份一份
地址界定
- 不给地址:对全文进行处理
- 单地址:
- #: 指定的行
- /pattern/:被此处模式所能够匹配到的每一行
地址范围:
代码语言:javascript复制 - #,#
- #, #
- /pat1/,/pat2/
- #,/pat1/
- ~:步进
- sed -n ‘1~2p’ 只打印奇数行 (1~2 从第1行,一次加2行)
- sed -n ‘2~2p’ 只打印偶数行
3. awk
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。
代码语言:javascript复制awk [options] 'program' var=value file…
复制代码
- F fs:fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:
- v var=value:赋值一个用户定义变量,将外部变量传递给awk
- f scripfile:从脚本文件中读取awk命令
- FS ****:输入字段分隔符,默认为空白字符
- OFS ****:输出字段分隔符,默认为空白字符
- RS :输入记录分隔符,指定输入时的换行符,原换行符仍有效
- ORS :输出记录分隔符,输出时用指定符号代替换行符
- NF :字段数量,共有多少字段, NF引用最后一列,NF引用最后一列,NF引用最后一列,(NF-1)引用倒数第2列
- NR :行号,后可跟多个文件,第二个文件行号继续从第一个文件最后行号开始
- FNR :各文件分别计数, 行号,后跟一个文件和NR一样,跟多个文件,第二个文件行号从1开始
- FILENAME :当前文件名
- ARGC :命令行参数的个数
- ARGV :数组,保存的是命令行所给定的各参数,查看参数
源码附件已经打包好上传到百度云了,大家自行下载即可~
链接: https://pan.baidu.com/s/14G-bpVthImHD4eosZUNSFA?pwd=yu27 提取码: yu27 百度云链接不稳定,随时可能会失效,大家抓紧保存哈。
如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~
GIT 项目推荐:包含多端免授权可商用,希望在互联网的生涯中帮助到您
附件地址:https://gitee.com/ZhongBangKeJi