linux各种命令

(随着积累,文件变大,请用command/control+f 搜索)

tips:

1、对于非连续的重复行,可以先排序(sort),然后再进行uniq去重统计,然后就可以得到每行的数据了。

2、

3、


一、tail

tail -f filename

tail -n num filename

二、uniq   sort

#cat a.txt | uniq -c -i | sort -k2 -rn         排重,排重输出的第二列逆序排列

如果单纯地使用sort按行进行排序比较简单,
但是使用sort按多个列值排列,同时使用tab作为分隔符,而且对于某些列需要进行逆序排列,这样sort命令写起来就比较麻烦了

-t $'\t':指定TAB为分隔符
-k 1, 1: 按照第一列的值进行排序,如果只有一个1的话,相当于告诉sort从第一列开始直接到行尾排列
n:代表是数字顺序,默认情况下市字典序,如10<2
r: reverse 逆序排列,默认情况下市正序排列
所以最后的命令:sort -t $’\t’ -k 1n,1 -k 2n,2 -k4rn,4 -k3,3 my-file


三、awk

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

awk条件打印

awk '{print $3}'

 awk -F":"   '{print $2==20?     $0:    $1}'  chen.data

结果为(如果第二条记录为20,则打印全行,否则打印第一个记录)

awk -F":"  '$2~/[0-9][0-9]/{print  $0}'  chen.data  

(如果第二个记录前两个是数字,则打印该行。注意这里的~匹配操作符的运用,否则将只是对第一条记录默认匹配)

awk  -F":"  '{ if($2==20){print $0} else {print  $1} } '  chen.data

awk中的for循环awk  -F":"  '{count=$2/10+1; for(i=0;i<count;i++) { print  $0} }  '   chen.data   (以第二个记录的值除以10再加1,作为一行记录的循环次数)

条件打印:http://blog.csdn.net/chenbingchenbing/article/details/6987559

awk学习:http://blog.chinaunix.net/uid-23302288-id-3785105.html


四、sed

1、zhaorui说过,对行的处理用awk,列相关的处理用sed

先记在这

sed简明教程:http://coolshell.cn/articles/9104.html


五、磁盘相关(df、du)

1、df

       a:显示全部的档案系统和各分割区的磁盘使用情形 
  i:显示i -nodes的使用量 
  k:大小用k来表示 (默认值) 
  t:显示某一个档案系统的所有分割区磁盘使用量 
  x:显示不是某一个档案系统的所有分割区磁盘使用量 
  T:显示每个分割区所属的档案系统名称 
  常用命令:df -hi 

2、du

a:显示全部目录和其次目录下的每个档案所占的磁盘空间 
  b:大小用bytes来表示 (默认值为k bytes) 
  c:最后再加上总计 (默认值) 
  s:只显示各档案大小的总合 (summarize) 
  x:只计算同属同一个档案系统的档案 
  L:计算所有的档案大小 
  常用命令:du -ah







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值