美文网首页
Llinux学习笔记-文本操作(1) 2018-05-08

Llinux学习笔记-文本操作(1) 2018-05-08

作者: Chuanging | 来源:发表于2018-05-08 10:14 被阅读0次

    查看行数

    ##查看总行数
    wc -l filename
    awk '{print NR}' filename | tail -n 1
    awk 'END{print NR}' filename
    grep -n "" filename | tail -n 1 | awk '{print $1}'   #-n:给匹配的行加行号前缀,注意不能用于非空行的编号,因为这种情况下空行虽然不显示,但仍会计入编号
    grep -c "" filename   #-c:统计匹配的行数
    sed -n '$=' filename
    cat -n filename | tail -n 1 | awk '{print $1}'
    nl -ba filename | tail -n 1 | awk '{print $1}'   #等价于nl filename | tail -n 1 | awk '{print $1}' 
    ##查看空行
    grep -c "^$" filename
    ##查看非空行数
    grep -vc "^$" filename
    grep -c "[^ \n\t]" filename
    grep -c "\S" filename
    cat -b filename | tail -n 1 | awk '{print $1}'
    nl -bt filename | tail -n 1 | awk '{print $1}' 
    

    查看列数

    awk -F "分隔符" '{print NF; exit}' filename

    head & tail

    head -n x filename   #查看前x行,可直接是head -x filename,无参数时默认是前10行
    tail -n x filename   #查看后x行,可直接是tail -x filename,无参数时默认是后10行
    head -n -x filename   #查看到倒数第(x+1)行,即去掉后x行
    tail -n +x filename   #从第x行开始查看至结束,即去掉前(x-1)行
    ##但在对测序文本去掉某些行数,习惯上用grep -v 的方法
    

    显示行号并查看

    ##所有行
    less -N filename
    cat -n filename | less
    nl -ba filename | less   #等价于nl filename | less
    grep -n "" filename | less
    ##非空行
    cat -b filename | less
    nl -bt filename | less 
    grep -n "\S" filename | less   #注该命令虽不显示空行,但空行仍会计入编号,等价于grep -n "[^ \n\t]" filename | less
    

    替换列的分界符

    ##将111文件中的分界符由空格替换为tab,选择tr或awk均可
    wch@wch-virtual-machine[foo] tr " " "\t" <111
    A   1   wayne
    B   2   ben
    c   3   jonathan
    z   100 sijung
    y   1000    monika
    x   10000   matt
    wch@wch-virtual-machine[foo] awk '{print $1"\t"$2"\t"$3}' 111
    A   1   wayne
    B   2   ben
    c   3   jonathan
    z   100 sijung
    y   1000    monika
    x   10000   matt
    

    相关文章

      网友评论

          本文标题:Llinux学习笔记-文本操作(1) 2018-05-08

          本文链接:https://www.haomeiwen.com/subject/qhcirftx.html