基本关键字搜索
grep keyord
grep Minecraft
find / -user video 2> errorReport | grep video
参数
-i 不区分大小写
-n 显示所在行数
-v 输出不带关键字的行(取反)
-Ax 输出包含结果所在行之后的x行
-Bx 输出包含结果所在行之前的x行
基于列文本处理
cut -d: -f3 /etc/passwd
grep ldh /etc/passwd | cut -d: -f3
参数
d 指定分割符
f 指定第几列
c 指定字符,如-c2-6 输出第2到第6个字符
文本统计
wc 文本名称
参数
-l 只显示行数
-w 统计单词数
-c 统计字节数
-m 统计字符数
文本排序
sort 文本名
参数
-r 倒序排序
-n 基于数字进行排序
-f 忽略大小写
-u 删除重复行
-t c 使用c作为分割符,分割成列进行排序
-k x 当进行基于指定字符作为分隔符为列的排序时,指定基于那个列排序
删除重复行
sort -u 文件名
uniq 文件名 只删除相邻的重复行
文本比较
diff 用来比较两个文本的区别
diff 文本1 文本2
参数
-i 忽略大小写
-b 忽略空格数量的改变
-u 统一显示比较信息(一般用以生成patch文件)
diff -u 文件1 文件2 > file.patch
处理文本内容
- 删除关键字
tr -d 'TMD' < fileName - 转换大小写
tr 'a-z' 'A-Z' < fileName
注意这里必须使用重定向 <
也可以试一下
tr '1-6' 'A-Z' < fileName看看会发生什么。
搜索替换
sed用以搜索和替换文本
sed 's/要替换的文本/替换文本/g' 文本名称
其中,
g代表替换所有,否则只替换搜索到的第一个
sed '1,50s/要替换的文本/替换文本/g' 文本名称
只替换1到50行
参数
-e 可以同时指定多个替换
-f sededit 调用sededit文件里的sed命令