shell 的几个数据处理命令 管道命令
2015-08-23 16:55
507 查看
tr:
tr -s 'c' 'c1' 把文件中的一个或者多个字符'c' 替换成字符 'c1'
eg:
cat a.txt | tr -s ' ' '\n'
把文本a.txt中所有的一个或多个空格替换成换行符,也就是说遇到一个或者多个连续的空格那么就换行。
sed 's/exp1/exp2/g'
把所有exp1形式的字符或字符串替换为exp2形式。
uniq 对文本进行去重处理
eg:
cat a. txt | uniq -c
对a.txt 进行行去重处理,也就是如果相邻两行或者多行是一样那么只显示一行内容。
但是对于不是相邻的行,如果中间的行不一样,那么不会去重。
例如:
a.txt->内容如下
aa
bb
bb
cc
aa
但是使用uniq 命令之后会变成
aa
bb
cc
aa
我们可以使用sort 命令之后在使用uniq命令
cat a.txt | sort | uniq
结果
aa
bb
cc
这个是与sort -u 命令的区别。
如果使用
cat a.txt | sort -u 命令
结果也是
aa
bb
cc
uniq -c
-c 是对内容进行计数。计数的方式也是统计相邻相同一行或者多行的个数
cat a.txt | uniq -c
sort -k num
表示按着没一行的第num行进行排序
比如按着第一行排序
cat a.txt | sort -k 1
显示的结果也是按着这一行的升序排序的
可以使用-r 参数进行降序排序
cat a.txt | sort | uniq -c | sort -k 1
awk 命令
awk '{print $1,$2,$3}'
打印每一行的1,2,3列。
tr -s 'c' 'c1' 把文件中的一个或者多个字符'c' 替换成字符 'c1'
eg:
cat a.txt | tr -s ' ' '\n'
把文本a.txt中所有的一个或多个空格替换成换行符,也就是说遇到一个或者多个连续的空格那么就换行。
sed 's/exp1/exp2/g'
把所有exp1形式的字符或字符串替换为exp2形式。
uniq 对文本进行去重处理
eg:
cat a. txt | uniq -c
对a.txt 进行行去重处理,也就是如果相邻两行或者多行是一样那么只显示一行内容。
但是对于不是相邻的行,如果中间的行不一样,那么不会去重。
例如:
a.txt->内容如下
aa
bb
bb
cc
aa
但是使用uniq 命令之后会变成
aa
bb
cc
aa
我们可以使用sort 命令之后在使用uniq命令
cat a.txt | sort | uniq
结果
aa
bb
cc
这个是与sort -u 命令的区别。
如果使用
cat a.txt | sort -u 命令
结果也是
aa
bb
cc
uniq -c
-c 是对内容进行计数。计数的方式也是统计相邻相同一行或者多行的个数
cat a.txt | uniq -c
sort -k num
表示按着没一行的第num行进行排序
比如按着第一行排序
cat a.txt | sort -k 1
显示的结果也是按着这一行的升序排序的
可以使用-r 参数进行降序排序
cat a.txt | sort | uniq -c | sort -k 1
awk 命令
awk '{print $1,$2,$3}'
打印每一行的1,2,3列。
相关文章推荐
- Linux socket 初步
- android wifi 无线调试
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝