uniq

uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。

uniq语法

[root@www ~]# uniq [-icu]
选项与参数:
-i :忽略大小写字符的不同;
-c :进行计数
-u :只显示唯一的行

testfile的内容如下

cat testfile
hello
world
friend
hello
world
hello

直接删除未经排序的文件,将会发现没有任何行被删除

#uniq testfile
hello
world
friend
hello
world
hello

排序文件,默认是去重

#cat words | sort |uniq
friend
hello
world

排序之后删除了重复行,同时在行首位置输出该行重复的次数

#sort testfile | uniq -c
1 friend
3 hello
2 world

仅显示存在重复的行,并在行首显示该行重复的次数

#sort testfile | uniq -dc
3 hello
2 world

仅显示不重复的行

sort testfile | uniq -u
friend

cut

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

cut语法

[root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符
[root@www ~]# cut -c 字符区间 <==用于排列整齐的信息
选项与参数:
-d :后面接分隔字符。与 -f 一起使用;
-f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
-c :以字符 (characters) 的单位取出固定字符区间;

PATH 变量如下

[root@www ~]# echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
# 1 | 2 | 3 | 4 | 5 | 6 | 7

将 PATH 变量取出,我要找出第五个路径。

#echo $PATH | cut -d ':' -f 5
/usr/local/bin

将 PATH 变量取出,我要找出第三和第五个路径。

#echo $PATH | cut -d ':' -f 3,5
/sbin:/usr/local/bin

将 PATH 变量取出,我要找出第三到最后一个路径。

echo $PATH | cut -d ':' -f 3-
/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games

将 PATH 变量取出,我要找出第一到第三个路径。

#echo $PATH | cut -d ':' -f 1-3
/bin:/usr/bin:/sbin:
 

将 PATH 变量取出,我要找出第一到第三,还有第五个路径。

echo $PATH | cut -d ':' -f 1-3,5
/bin:/usr/bin:/sbin:/usr/local/bin

实用例子:只显示/etc/passwd的用户和shell

#cat /etc/passwd | cut -d ':' -f 1,7
root:/bin/bash
daemon:/bin/sh
bin:/bin/sh

 wc

统计文件里面有多少单词,多少行,多少字符。

wc语法

[root@www ~]# wc [-lwm]
选项与参数:
-l :仅列出行;
-w :仅列出多少字(英文单字);
-m :多少字符;

默认使用wc统计/etc/passwd

#wc /etc/passwd
40 45 1719 /etc/passwd

40是行数,45是单词数,1719是字节数

wc的命令比较简单使用,每个参数使用如下:

#wc -l /etc/passwd   #统计行数,在对记录数时,很常用
40 /etc/passwd #表示系统有40个账户 #wc -w /etc/passwd #统计单词出现次数
45 /etc/passwd #wc -m /etc/passwd #统计文件的字节数
1719

转载:https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858385.html

最新文章

  1. SLES 10安装Oracle10gR2笔记
  2. onethink入门笔记(二)
  3. [译] libvirt 虚机的生命周期 (Libvirt Virtual Machine Lifecycle)
  4. PyPy 2.1 正式版发布
  5. Tarjan--LCA算法的个人理解即模板
  6. nyoj-----127星际之门(一)
  7. Rstudio匹配中文
  8. 【转】MyBatis中Like语句使用方式
  9. Android开源项目发现---ViewPager 、Gallery 篇(持续更新)
  10. POJ 1417 True Liars
  11. Azure File SMB3.0文件共享服务(4)
  12. Socket的应用案例
  13. javascript 思维导图 总结
  14. Mybatis中几个重要类
  15. 微信小程序企业给零钱打款 提示未配置api发起,请查看产品中心企业付款配置
  16. 解决资源id冲突
  17. python之item方法
  18. Python教程:进击机器学习(五)--Scipy《转》
  19. 安装redis出现cc adlist.o /bin/sh:1:cc:not found的解决方法
  20. 美团店铺评价语言处理以及分类(tfidf,SVM,决策树,随机森林,Knn,ensemble)

热门文章

  1. 洛谷 题解 UVA10048 【噪音恐惧症 Audiophobia】
  2. python 脚本定时删除 elk索引
  3. selenium之定位详篇
  4. JS 通过注册表调用启动本地软件
  5. 【坑】Mybatis 多次逆向工程生成mapper文件
  6. Navicat连接Oracle数据库用户权限问题
  7. Python senium 中页面属性
  8. Geometers Anonymous Club CodeForces - 1195F (闵可夫斯基和)
  9. NeurIPS 2018 中的贝叶斯研究
  10. dockerfile相关命令