zoukankan      html  css  js  c++  java
  • Linux之文件过滤分割与合并

      1 文件过滤分割与合并
      2 1、grep命令
      3     grep(global regular expression print)全面搜索正则表达式并把行打印出来,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
      4 
      5     -a 不要忽略二进制数据。
      6     -A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
      7     -b 在显示符合范本的数据之外,并显示该行之前的内容。
      8     -c 计算符合范本样式的列数。
      9     -C<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
     10     -d<进行动作> 当指定要查找的是目录而非文件时,必须使用这参数,否则grep命令将回报信息并停止动作。
     11     -e<范本样式> 指定字符串作为查找文件内容的范本样式。
     12     -E 能使用扩展正则表达式
     13     -f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
     14     -F 将范本样式视为固定的字符串列表。
     15     -G 将范本样式视为普通的表示法来使用。
     16     -h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
     17     -H 在显示符合范本样式的那一列之前,标示该列的文件名称。
     18     -i 忽略大小写的差别。
     19     -l 列出文件内容符合指定的范本样式的文件名称。
     20     -L 列出文件内容不符合指定的范本样式的文件名称。
     21     -n 在显示符合范本样式的那一列之前,标示出该列的编号。
     22     -q 不显示任何信息。
     23     -R/-r 此参数的效果和指定“-d resource”参数相同。
     24     -s 不显示错误信息。
     25     -v 反转查找。
     26     -w 只显示全字符合的列。
     27     -x 只显示全列符合的列。
     28     -y 此参数和 -i效果相同。
     29     -o 只输出文件中匹配到的部分。
     30 
     31 
     32 grep命令的常见用法
     33     在文件中搜索一个单词,命令会返回一个包含“match_pattern”的文本行:
     34     grep match_pattern file_name
     35     grep "match_pattern" file_name
     36 
     37     在多个文件中查找
     38     grep match_pattern file_name1 file_name2
     39 
     40     输出除匹配到的所有行之外的 -v选项
     41     grep -v match_pattern file_name
     42 
     43     标记匹配颜色选项
     44     grep match_pattern file_name --color=auto
     45 
     46     使用正则表达式-E选项:
     47     grep -E "[1-9]+"
     48 
     49     只输出文件中匹配到的部分 -o选项
     50     echo this is a test line. | grep -o -E "[a-z]+.
     51     echo this is a test line. | egrep -o -E "[a-z]+.
     52 
     53     统计文件或者文本中包含匹配字符串的行数-c选项
     54     grep -c "match_pattern" file_name
     55 
     56     输出包含字符串的行数-n选项
     57     grep “text” -n filename    或 cat file_name | grep "text" -n
     58 
     59     打印样式匹配所位于的字符或者字节偏移
     60     echo gun is not unix | grep -o -b "not"
     61 
     62     搜索多个文件并查找匹配文本在哪些文件中:
     63     grep -l "text" file1 file2 file3……
     64 
     65     在多级目录中对文本进行递归搜索:
     66     grep “text” . -r -n
     67 
     68     忽略匹配样式中的字符的大小写
     69     echo hello world | grep -i "hello"
     70 
     71     选项 -e 制动多个匹配样式:
     72     echo this is a text line | grep -e "is" -e "line" -o
     73 
     74     在grep搜索结果中包括或者排除指定文件:
     75     //只在目录中搜索所有的.php和.html文件中递归搜索字符“main()”
     76     grep "main()" . -r --include *.{php,html}
     77 
     78     grep静默输出
     79     grep -q “test” filename
     80 
     81     打印出匹配文本之前或者之后的行;
     82     //显示匹配某个结果之后的3行,使用-A选项
     83     seq 10 | grep "5" -A 3
     84     //显示匹配某个结果之前的3行,使用-B选项
     85     seq 10 | grep "5" -B 3
     86     //显示匹配某个结果的前三行和后三行,使用-C选项
     87     seq 10 | grep "5" -C 3
     88     //如果匹配结果有多行,会用“--”作为各匹配结果之间的分隔符:
     89     echo -e "a
    b
    c
    a
    b
    c" | grep a -A 1
     90 2、sort命令
     91     sort命令是在Linux中非常有用,它将文本尽心排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入
     92 
     93 语法
     94     sort(选项)(参数)
     95 选项
     96     -b:忽略每行最前面的空格
     97     -c:检查文件是否按顺序排序
     98     -d:处理英文字母、数字及空格字符外,忽略其他的字符;
     99     -f:排序时将小写字母视为大写字母;
    100     -m:将几个排序号的文件进行排序;
    101     -n:按照数值的大小排序;
    102     -o<输出文件>:将排序后的结果存入制定的文件;
    103     -r:以相反的顺序来排序;
    104 
    105 参数
    106     文件:指定待排序的文件列表
    107 
    108 实例
    109     sort sort.txt
    110     sort -u sort.txt    //忽略相同行
    111     或者    uniq sort.txt
    112 
    113     将第二列按数字从小到大的排列
    114     sort -nk 2 -t: sort.txt
    115     将第三列按数字从大到小的顺序排列
    116     sort -nrk 3 -t: sort.txt
  • 相关阅读:
    在Idea中使用Eclipse编译器
    Idea切换svn分支,类似Eclipse的Switch功能
    Spring AOP详解
    CGLib动态代理原理及实现
    IDEA下搜狗输入法输入中文时卡着不动的参考解决方法
    Nginx反向代理丢失cookie的问题
    redis连接池自动释放
    Redis常用命令
    waitpid之status意义解析
    bash中管道命令返回值如何确定(下)
  • 原文地址:https://www.cnblogs.com/guoziyi/p/6184141.html
Copyright © 2011-2022 走看看