191021笔记

文本处理三剑客
grep awk sed
global regular expression and print
全局正则表达式搜索然后打印
打印的特点:所在行输出

cat jsetc | grep jsetc 把jsetc出现的行全部打印
| 被称为叫管道(把输出的内容加载到后面的命令里)
重定向 > (把文件保存 后为定向)
cat jsetc > hello

正则表达式是用约定好的某些符号去表示某个含义
普通正则表达式 定了一些基础的符号及其含义
扩展正则表达式,除了基础的符号,又扩展了更多的符号
定义的符号越多,我们过滤出想要的内容就越快,但需要去记住更多的语法

正则表达式的 * 前面一个字符出现0次或多次
正则表达式的 . 任意字符

^ 非
^xx 以xx开头 xxKaTeX parse error: Expected group after '^' at position 7: 以xx结尾 ^̲ 查找有多少个空文本
| wc -l (查找的结果的行数)

查找. grep .

网络上可以查找现成的正则表达式
类似电话号码 ip地址等等

网络查找shell正则表达式

grep -v 反向查找(没有指定内容的)
grep -n 可以显示结果所在的行号
grep -o 不做显示

grep 偏向于行处理
awk 偏向于列处理,会把一行分成多个列
“hello1;hello2;hello3” 以;分割 分为三列
可找到最直接的目标信息
awk也有变量,数组,判断,循环等语法,awk内置了实用函数
awk:列处理,列过滤

自动以空白作为间隔
$1 $2 $3是一二三列
$0是整行
NR是当前处理到第几行(也即输出行数)
(可以过滤信息 在awk内部继续grep)

查找一个工程目录下有多少个.c文件
查看一个工程目录下所有.c文件行数的和
BEGIN{}大括号里只运行一次,在文本处理开始前运行
END{}大括号里只运行一次,在文本处理结束后运行

awk内嵌很多语法与C相同
awk使用 -F指定分隔符
默认分隔符是多个空白 空格或tab

awk传参
age=30 在后可以使用age变量(类似宏替换)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值