sort,uniq,join,cut,paste,split,tr学习

来源:互联网 发布:上古世纪诺亚捏脸数据 编辑:程序博客网 时间:2024/05/01 04:29

1.输出

sort yjg.txt> yjg.out

sort -t: video.txt

sort -t: -r video.txt ----逆向排序

sort -t: +1 -r video.txt ---按第二组逆向排序

sort -t: +2 video.txt

sort -t: +2n video.txt   这两个区别呢?

sort -u video.txt ----去除重复行

sort -t: -k4 video.txt-----按第四组排序

sort -t: -k1 -k4 video.txt -----按第一组和第四组排序

sort +0 -2 +3 ----以第0组排序,忽略第二组,再按第三组排序

sort -t: -r -k4 video.txt | head -1

sort -t: -r -k4 video.txt | tail -1

sort -t: -r k4 video.txt | tail -1 | awk -F: '{print "Worst rental",$1,"has been rented " $3}'

sort -t: -m +0 video2.txt video.txt -----把video2.txt 加入到video.txt 并按第0组排序

 

2.系统sort

cat /etc/passwd | sort -t: +0 | awk -F":" '{print $1}' --------排序后显示第一列

df | sort -b -r +4 ----------       -b忽略前面的空格

sort -t. +3n iplist.txt ------以.号分隔,按第四列排序

 

3.uniq用法

  uniq myfile.txt ----去除重复行

  uniq -u myfile.txt ----去除重复行

  uniq -c myfile.txt -----显示重复的次数

  uniq -d myfile.txt -----显示不唯一的记录

  uniq -n2 parts.txt -----显示第二列不同的记录

 

4.join的用法

   join name.txt town.txt -----文件合并,去除每行的重复内容

   join -a1 -a2 name.txt town.txt ----不匹配合并

   join -o 1.1 2.2 name.txt town.txt ----连接第一个文件的第一列和第二个文件的第二列

  

 5.cut用法

    cut -d: -f3 pers.txt  -----------剪切第三列

    cut -d: -f1,3 /etc/passwd----剪切第一列和第三列

    who -u | cut -c1-8 ----------剪切1到8个字符

  

6.paste用法

    paste pas1.txt pas2.txt

    paste pas2.txt pas1.txt

    paste -d: pas1.txt pas2.txt

    paste -s pas1.txt pas2.txt ----竖向黏贴

    ls | paste -d" " - - - -            ----以空格分隔,以四个为一行

 

7.split用法

   split -2 yjg.txt ----以2行为一个文件

 

 8.tr用法

  tr -s "[a-z]"< oops.txt ----去除重复数字

  tr -s "[/012]" < oops.txt ----删除空行

  echo "Hello World" | tr -s "[a-z]" "[A-Z]" ----小写变大写

  echo "Hello World" | tr -s "[A-Z]" "[a-z]"  ----大写变小写

  tr -cs "[a-z][A-Z]" "[/012*]" < diary.txt -删除字母外所有字符

  tr -s "[/136]" "[/011*]" < star.tr > stat.dmp ---替换

  tr -s "[/015/032]" "/n" < stat.dmp ---替换

  tr -s "[:]" "[/011]" < /etc/passwd ----用tab键替代:号

  tr "[0*4]" "*" < hdisk.txt -----用*号替换至少4个连续的0