Linux入门基础18
Linux命令行文本处理工具
文件浏览
cat
more
less
head
tail
基于关键字搜索
grep
grep name /dir
find / -user name | grep video
- -i 搜索是忽略大小写
- -n 显示结果所在行数
- -v 输出不带关键字的行(排除操作)
- -Ax 在输出的时候包含结果所在行之后的指定行数
- -Bx 在输出的时候包含结果所在行之前的指定行数
基于列处理文本
命令
cut
用以基于列处理文本内容
cut -d: -f1 /etc/passwd
grep name /etc/passwd | cut -d: -f3
-d 指定分割字符
-f 指定输出的列号(显示第几列)
-c 基于字符进行切割(显示字符)
cut -c2-6 /etc/passwd
文本统计
命令
wc
用以统计文本信息
wc filename
- -l 只统计行数
- -w 只统计单词
- -c 只统计字节数
- -m 只统计字符数
文本排序
命令sort 用以对文本内容进行排序,不支持中文
sort filename
- -r 倒序
- -n 基于数字
- -f 忽略大小写
- -u 删除重复行
- -t c 使用c作为分隔符为列进行排序
- -k x 当进行基于指定字符分割为列的排序时,指定基于那个列的排序
uniq
删除重复的相邻行
文本比较
diff
diff filename1 filename2
-i 忽略大小写
-b 忽略空格数量的变化
-u 统一显示比较信息(一般用以生成patch文件/补丁文件)
diff -u filename1 filename2 > final.patch
检查拼写
aspell 用以显示检查英文拼写
处理文本内容
tr 用以处理文本内容(translate)
删除关键字
tr -d 'TMD' < filename
转换大小写
tr 'a-z''A-Z' < filename
搜索替换
sed
用以搜索并替换文本
sed 's/ / /g'
sed 'l,50'
-e 匹配多个
-f 把命令保存在文件中,调用文件
Any question please contact 1-riverfish