linux关于处理文本内容的命令!!

最近学习了 一些处理文本内容的命令今天总结一下,以便之后复习!  less

如下命令只列出了一些经常使用参数. 学习

uniq 命令 spa

uniq 命令不加参数能够去除出文件中重复行(这些重复的行必须相邻,不相邻不能去除). .net

-c 在输出行前面加上每行在输入文件中出现的次数;  code

-d 仅显示重复行;  blog

-u 仅显示没有重复过的行 字符串

命令模式: uniq [参数]  文件         这个简单不举例子了! sed


sed 命令  这个内容太多去这看 http://my.oschina.net/denglz/blog/111163 file


sort 命令 im

sort将文件的每一行做为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

sort 不加参数升序排列

-r倒序排列;  

-n 防止10排在2的前面; 

-t ":" 定义分隔符为冒号; 

-k 3 选择第三部分. 

例子: sort -rn -t : -k 3 /etc/passwd   以":"分割passwd按照第三部分倒序排列文件中的行.


cut命令

cut命令能够从一个文本文件或者文本流中提取文本列。

-d  :后面接分隔字符。与 -f 一块儿使用; 
-f  :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思; 
cat  /etc/passwd | cut -d ':' -f 1,3    用:分割passwd文件取出passwd文件的第一列第三列

cat  /etc/passwd |cut -d ':' -f 1-3   用:分割passwd文件取出passwd文件的第一列第三列


head 和 tail 命令!

最基本的是cat、more和less。 
1. 若是你只想看文件的前5行,能够使用head命令,如: 
head -5 /etc/passwd 
2. 若是你想查看文件的后10行,能够使用tail命令,如: 
tail -10 /etc/passwd 或 tail -n 10 /etc/passwd 
tail -f /var/log/messages 
参数-f使tail不停地去读最新的内容,这样有实时监视的效果 用Ctrl+c来终止! 
3. 查看文件中间一段,你能够使用sed命令,如: 
sed -n '5,10p' /etc/passwd 
这样你就能够只查看文件的第5行到第10行


join 命令

join命令能够合并输出两个有相同格式的文件的内容!

-a1表示 显示第一个文件中不匹配的行,即为left join

-a2 表示 显示第二个文件中不匹配的行,即为right join

-o 1.1 2.1 -o是输出参数,1.1表示输出第一个文件的第一列;2.1表示输出第二个文件的第一列

-t "|" 是分隔符参数, 表示指定|做为域分隔符

-j 1.1 2.1  -j是表示链接的字段参数, 这里表示第一个文件的第一列和第二个文件的第一列关联


tr 命令

# cat file | tr -d "Snail" > new_file
 
【注意】这里,凡是在file文件中出现的'S','n','a','i','l'字符都会被删除!而不是牢牢删除出现的"Snail”字符串。
# cat file | tr [a-z] [A-Z] > new_file  把new_file 文件中全部的小写字母都替换成大写字母!!