文本工具
文本工具基础使用
一、grep 文本搜索工具
grep是“global search regular expression and print out the line”的简称,意思是全面搜索正则表达式,并将其打印出来。这个命令可以结合正则表达式使用,它也是linux使用最为广泛的命令。
grep:在文件中搜寻字串匹配的行并输出,匹配的是包含。
grep [选项] 关键字 文件
-n 标示出该行的列数编号(显示行号) -i 不区分大小写 -v 排除指定字符串 ^root 匹配以root开头的行 bash$ 匹配以bash结尾的行 ^$ 过滤空行 扩展正则:(grep -E 或 egrep) + : 前一个字符匹配一次或任意多次 ? :前一个字符匹配0次或1次 | :匹配两个或多个分支选择 () :匹配其整体为一个字符,即模单元 正则表达式: * 前一个字符匹配0次或任意多次 . 匹配除换行符外任意一个字符 ^ 匹配行首 [] 匹配括号中任意一个字符,只匹配一个字符 [^] 匹配除括号中字符以外的任意一个字符 \ 转译符,用于取消特殊字符含义 \{n\} 表示其前面字符恰好出现n次 \{n,\} 表示其前面字符出现次数不小于n次 \{n,m\} 表示字符最少出现n次,最多出现m次
二、cut 列提取命令
-f 提取第n列(列号) -d 分隔符,按照指定分隔符分割列 -c 字符范围,不依赖分隔符分割列,而是通过字符范围来进行字段提取。 “n-” 从第n个字符到末尾 “n-m” 从第n个字符到第m个字符 “-m” 从第一个字符到第m个字符
三、awk编程
awk内置变量: $0: 代表目前aek所读入的整行数据,我们已知awk是一行一行读取数据的。 $n: 代表当前读入行的第n个字段 NF: 当前行所拥有的字段总数(列数) NR: 当前awk所处理的行,是总数据的第几行 FS: 用户定义分割符 BEGIN:执行条件前执行 END: 执行条件后执行 RS: ORS:
awk '{条件1}{条件2}'
四、sed 处理编辑文本文件
Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
-n : 会把所有数据输出到屏幕,加入此选项,会把经过sed处理后的数据 -e : 允许对输入数据应用多条sed命令编辑 -i : 直接将修改的结果保存到文件中,而不是在屏幕上输出。 a : 追加 c : 行替换 i : 插入 d : 删除指定行