文本处理三个命令
1、sed(stream edit)流式编辑器
sed进程的内存空间内部被分为两部分:模式空间,保持空间 执行命令时,
从硬盘文件一行一行读取内容到模式空间中,以相应的引号内的规则处理,结
果放入保存空间,同时会默认输出到屏幕上
sed对比vim
1、sed可以把处理文件的规则事先写好,然后用同一套规则编辑多个文件,批量处理文件;vim只能依次编辑
2、sed处理文件,一次只处理一行,内存只读取一行,大文件不会对内存造成压力,用于处理大文件;vim是一次读取所有内容,读大文件时内存压力大
sed 选项 '规则' 文件/路径
选项
-n 取消默认输出
-i 把输出的内容编辑入文件内
-r
规则:
定位+命令
定位方式:
1、行号定位
2、正则定位
命令:
d:剪切
p:print
s///g:替换 '定位s///g'
2、awk:主要擅长处理有规律的文本,主要用于做一些格式化处理
选项 -F 后接指定分隔符,例如”:“ 不输入是默认为空格分隔,空格可以是连续多个
定位:行号定位:NR <= >= == 行号 内置变量NR,第NR次读取的行 NF:截出的段数,每行一个 正则定位:xxxxxxxx
awk -F: '定位{处理规则} ' 文件/路径
3、grep:擅长过滤
grep 选项 "过滤规则" 文件/路径
选项:
-n 加标行号
-i 忽略大小写
-l 判断文件中有没有过滤的内容,成功会返回文件名
-r 通常与 -l 同用,过滤文件夹内文件,包含过滤内容的文件会被返回 grep -rl 目录
过滤规则:
正则规则
ps aux:查看所有的进程
ps aux | grep ' ' 过滤出想要的进程 grep -v ' ' 过滤掉不想要的(或者把过滤内容的第一个字符放在中括号里[ ])
kill -9 进程的pid 强制