Shell: 文本文件操作

风行水上 @ 2010-03-14 16:16:13
标签:

    文件显示和信息

    wc

    wc 可以用于统计文件的行数和单词数。

    nl

    nl 在文件的每行内容前面加上行号。

    基于行的操作

    grep

    grep 用于筛选匹配特定字符的行。

    • grep "Hello" : 只显示含有字符串“Hello"的行
    • grep -v "Hello" : 只显示不含有字符串 "Hello"的行

    sort

    sort 对文件进行排序。默认是按照字典顺序从小到大

    • sort -n : 按照数值大小,而不是字典顺序,进行排序。
    • sort -u : 去除重复的行。
    • sort -k 3 : 按照每行的第三个字段进行排序。默认的分隔符是空格。

    uniq

    uniq 用于去除重复的行。

    sed

    sed 可以看作是一个面向行的编辑器。

    awk

    awk 也是面向行的,但在操作每一行的时候,每行文字自动被分隔为不同的字段(默认用空格作为分隔符)。

    基于列的操作

    cut

    cut 从文件中截取相应的列。默认的列分隔符是 tab 字符。

    • cut -d "|" -f 3-5 t.txt

    join

    join 用于合并两个文件。两个文件中具有同样的索引字段的行被组合成一行。join 要求两个文件是根据索引字段排序过的。

    • join -j 1 a.txt b.txt

    杂项

    大小写转换

    echo $VAR_NAME | tr '[:upper:]' '[:lower:]'
    echo $VAR_NAME | tr '[A-Z]' '[a-z]'
    
    标签:

      分享到:
      comments powered by Disqus

      22/25ms