Linux命令 | cat

作者: 泼皮混混 | 来源:发表于2022-03-11 21:14 被阅读0次

    cat(是 concatenate 的缩写)命令

    用于连接文件并打印到标准输出设备上

    详细说明:cat 命令的功能是将文件或标准输入组合输出到标准输出。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

    用法及参数如下:

    $cat --help
    Usage: cat [OPTION]... [FILE]...
    Concatenate FILE(s), or standard input, to standard output.
    
      -A, --show-all           equivalent to -vET #等价于 -vET
      -b, --number-nonblank    number nonempty output lines, overrides -n #和 -n 相似,只不过对于空白行不编号
      -e                       equivalent to -vE #等价于"-vE"选项
      -E, --show-ends          display $ at end of each line #在每行结束处显示 $
      -n, --number             number all output lines #由 1 开始对所有输出的行数编号
      -s, --squeeze-blank      suppress repeated empty output lines #当遇到有连续两行以上的空白行,就代换为一行的空白行
      -t                       equivalent to -vT #等价于 -vET
      -T, --show-tabs          display TAB characters as ^I #将 TAB 字符显示为 ^I
      -u                       (ignored) #被忽略
      -v, --show-nonprinting   use ^ and M- notation, except for LFD and TAB #使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外
      --help     display this help and exit #展示帮助选项并退出
      --version  output version information and exit #输出版本号信息并退出
    
    With no FILE, or when FILE is -, read standard input.
    
    Examples:
      cat f - g  Output f's contents, then standard input, then g's contents.
      cat        Copy standard input to standard output.
    
    

    cat命令的三大功能:

    1、一次显示整个文件内容

    $cat filename
    

    2、从键盘创建一个新文件,不能更改已有文件

    $cat > filename
    

    3、将几个文件合并成一个文件

    $cat file1 file2 > mergefile
    $zcat test1.fastq.gz test2.fastq.gz …… > total.fastq.gz
    #直接cat再合并也可以,最后的结果和zcat一样
    $cat test1.fastq.gz test2.fastq.gz …… > total.fastq.gz
    

    tac 是将 cat 反写过来,所以它的功能就跟 cat 相反,cat 是由第一行到最后一行连续显示在屏幕上,而 tac 则是由最后一行到第一行反向在屏幕上显示出来

    用法及参数:

    Usage: tac [OPTION]... [FILE]...
    Write each FILE to standard output, last line first.
    With no FILE, or when FILE is -, read standard input.
    
    Mandatory arguments to long options are mandatory for short options too.
      -b, --before             attach the separator before instead of after #将分隔符安装在之前而不是之后
      -r, --regex              interpret the separator as a regular expression #将分隔符解释为正则表达式  
      -s, --separator=STRING   use STRING as the separator instead of newline #使用STRING作为分隔符而不是换行符  
      --help     display this help and exit #展示帮助选项并退出
      --version  output version information and exit #输出版本号并退出
    
    #zcat查看压缩文件最后一行是否有换行符
    #gz压缩文件:输出为1表示有换行,输出为0表示无换行
    zcat DRR138629_1.fastq.gz | tail -1 | wc -l
    #仅仅是fastq文件:输出为1表示有换行,输出为0表示无换行
    tail -1 DRR138629_1.fastq | wc -l
    #提取fastq.gz文件中一个单元的第一二行
    zcat DRR138627_41_total.fastq.gz | awk '{if(NR%4 == 1){print ">" substr($0, 2)}}{if(NR%4 == 2){print}}' > DRR138627_41_total.fasta
    
    >NS500460:4:H13G4BGXX:1:11102:10658:8619 1:N:0:3
    CCTTAATCAGGATCAATGCCTTTTCGGGCTTATCACAGATCACTGTGGCAATCTCAGCTTTGTTGATAATGTATTT
    >NS500460:4:H13G4BGXX:1:11102:3954:8619 1:N:0:3
    GTCCACATTCAGATTTTCCCAGGAAGAAACGCCTCGTGTGCCAGTCCAGATGCTGATTGAAAAGCCAGCCCCCAGG
    

    总之,一句话:查看gz文件用zcat test.fastq.gz | head -20,查看fastq文件用head。

    #返回系统语言
    echo $LANG
    #设置系统语言为中文
    LANG=zh_CN.UTF-8
    #设置系统语言为英文
    LANG=en_US.UTF-8
    #查看系统语言
    date
    

    相关文章

      网友评论

        本文标题:Linux命令 | cat

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