Day14 文本处理三剑客
1、文本处理三剑客命令
sed
awk
grep
2、文件查找命令
find
3、上传下载
wget
curl
rz
sz
4、输出与重定向
>
>>
5、字符处理命令
sort排序
uniq去重
cut处理有规律的文本
tr替换
wc统计
6、打包压缩
tar
一 sed
什么是sed?
sed->流式编辑器
为何用sed?
sed 对比 vim
1、sed可以把处理文件的规则事先写好,然后用同一套规则编辑多个文件
而vim只能一个个编辑===》用于用一套规则处理多个文件
2、sed处理文件,一次只处理一行,即同一时间内存中只有文件的一行内容
无论文件多大,都不会对内存造成过大的压力====》用于处理大文件
如何用sed
sed 选项 '规则' 文件
选项:
-n 取消默认输出
-i 把输出到屏幕中的内容(规则处理的结果+默认输出的结果)
规则:定位+命令
定位方式:
行号定位:
sed '1p' a.txt 打印第一行
sed '1,3p' a.txt
sed '3p;5p' a.txt
正则定位
sed '/^egon$/p' a.txt
没有定位代表定位所有行
命令:
d
p
s///gi
sed '1,3s/egon/EGON/' 文件
sed '/^egon/s/egon/EGON/' 文件
二 awk
主要擅长处理有规律的文本,主要用于做一些格式化处理
awk 选项 '规则' 文件路径
选项:
-F: 指定分隔符
规则:定位+命令
定位:
行号定位:
awk -F: 'NR == 3{print $1,$3}' /etc/passwd
awk -F: 'NR >= 3 && NR <=5{print $1,$3}' /etc/passwd
awk -F: 'NR <= 3 || NR >=8{print $1,$3}' test.txt
awk -F: 'NR == 3 || NR ==5 || NR==7{print $1,$3}' test.txt
正则定位
awk -F: '//{print $1,$2}' 文件路径
没有定位代表定位所有行
命令:
{print $n}
sed 选项 '定位+命令' 文件路径
awk -F: '定位+命令' 文件路径
sed 选项 '3,5p' 文件路径
awk -F: 'NR>=3 && NR<=5{print $0}' 文件路径
三 grep
擅长过滤
grep 选项 "过滤规则" 文件
grep -n "root" /etc/passwd # 显示行号
grep -i "" /etc/passwd # 忽略大小写
grep -l 'egon' a.txt # 如果文件中但凡是存在包含egon的行就算过滤成功,会返回文件名
[root@web01 ~]# ps aux |grep 'vim'
root 9825 0.0 0.5 151692 5212 pts/1 S+ 12:05 0:00 vim a.txt
root 10190 0.0 0.0 112724 988 pts/0 R+ 12:30 0:00 grep --color=auto vim
[root@web01 ~]# ps aux |grep '[v]im'
root 9825 0.0 0.5 151692 5212 pts/1 S+ 12:05 0:00 vim a.txt
[root@web01 ~]#
[root@web01 ~]# kill -9 9825
windows
ctrl+alt+delete
C:\Users\oldboy>taskkill /F /PID 12080
成功: 已终止 PID 为 12080 的进程。
C:\Users\oldboy>tasklist | findstr "WeChat.exe"
WeChat.exe 11412 Console 1 127,836 K
C:\Users\oldboy>taskkill /F /PID 11412
成功: 已终止 PID 为 11412 的进程。