Linux基础命令之文件过滤及内容编辑处理(一)

. cat

  功能是连接多个文件并且打印到屏幕输出,或重定向到指定的文件

  五大功能:

    1.查看文件内容  cat file.txt

    2.合并文件内容  cat file1 file2>newfile3

    3.创建便捷新文件  cat >file  输入完成之后,使用ctrl+c结束即可

    4.清空文件内容  cat /dev/null >file.txt 

    5.非交互式的编辑或者追加内容到文件尾部

        cat>>file.txt<<EOF

          1234

        EOF

    -n  # 从1开始对多有输出的内容按行编号

    -b  # 与-n类似,但是会忽略空白行

    -A  # 每行的行尾显示$符号

 

 

. tac

  反向显示文件内容

. more

  分页显示文件内容

.less

  less is more.分页显示文件内容,但是不是一次性加载文件内容,而是根据需要进行加载

  尤其是打开超大文件时,为了不影响磁盘IO,会使用此命令

  

. head

  显示文件内容头部,默认输出开头10行

  -n  指定显示的行数,后面接n(数字)

  -c  以字节为单位

. tail

  显示文件内容的尾部,默认输出文件的最后10行

  -f   # 实时输出文件变化后追加的数据  一般监控程序执行产生的日志,来定位问题

  --pid=进程号  # 与-f参数连用,进程结束后自动退出tail命令

  -n   # 显示行数

  -c  # 显示字节数,用法基本与head差不多

. tailf  

  跟踪日志文件

  几乎等同于 tail -f ,与之不同的是,如果文件不增长,name不会去访问磁盘文件,也不会更改文件的访问时间

  

. cut

  从文件的每一行剪切字节,字符或字段,并将这些字节,字符,或字段输出至标准输出

  -b    # 以字节为单位进行分割

  -n    # 取消分割多字节字符,与选项-b一起使用

  -c    # 以字符为单位进行分割

  -d    # 自定义分隔符,默认以空格为分隔符

  -f    # 指定显示那个区域,与-d配合使用

  N    # 第N个字节,字符,字段

  N-

  N-M

  -M    # 从第1到第M个。。

cut -b 3-5,10 xiaolizi.txt
cut -b -3 xiaolizi.txt
cut -b 3- xiaolizi.txt
cut -b 3,3 xiaolizi.txt
cut -c 2-10 xiaolizi.txt
cut -d : -f 1 /etc/passwd
cut -d : -f 3-5 /etc/passwd

. split

  按照指定的行数或者指定的文件大小分割文件

   split [OPTION]... [INPUT [PREFIX]]

  -l  # 指定分割后文件的最大行数

  -b  # 指定分割后文件的最大字节数

  -a  # 指定后缀长度,默认为2位字母

  -d  # 使用数字后缀

aplit -l 10 -a 3 /etc/inittab new2_
split -b 500k -d lvm lvm_

 

. paste

  将文件按照行与行进行合并,中间默认使用空格隔开

  

paste test1 test2
paste -d: test1 test2    # 以:作为分隔符号
paste -s test1    # 将内容从列转换为行

. sort

  将如数的文件内容按照指定的规则进行排序,然后排序结果输出

  -n  # 依照数值大小进行排序

  -r  # 倒序排序

  -k  # 按指定区间排序

  -t  # 指定分隔符

  b  # 忽略每行开头存在的空格字符

  -u  # 去出重复行  单独的命令uniq

  

sort -t " " -k2 xiaolizi.txt
sort -n -t . -k3,3 -k4.1,4.3 arp.txt     # -n:按数字排序    -t . :按 . 座位分隔域    -k3,3:按第三个字段开始到第三个字段结束排序    -k4.1,4.3:按第四个字段第一个字符开始,到第四个字段,第三个字符结束

 

. join

  类似SQL语句中的join on语句,将文件里面关联的内容进行合并,一般处理鱼油相关性的文件

  合并的文件内容要求是经过sort排序后的

. uniq

  去除重复行

  一般是是将sort排序后的内容,通过管道传递给uniq进行处理

  -c  # 取出重复行,并计算每行出现的次数

  -d  # 只显示重复的行

  -u  # 只显示唯一的行

cut -d '/' -f 3 xiaolizi.log|sort|uniq -c |sort -rn
awk -F "/" '{print $3}' xiaolizi.log|sort|uniq -c|sort-rn

 

posted @ 2019-04-16 15:58  风一样的小李子  阅读(2861)  评论(0编辑  收藏  举报