重定向和管道符

Posted yxq-123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重定向和管道符相关的知识,希望对你有一定的参考价值。

重定向和管道符

1、重定向(标准输入、标准输出、标准错误)

  1、1数据输入

    --键盘输入(标准输入),但不是唯一的输入方式

     --stdin    

      例1:echo "123456" | passwd --stdin "username"

      例2:功能添加用户useradd.sh user.txt文本文档1000个用户

          ./useradd.sh a

          ./useradd.sh b

          ...

          ./useradd.sh < user.txt

       方法:  

        While lin;do

          [循环体]$line

        Done < /etc/passwd(将这个文件内容放进循环体)

  1、2数据输出

    --显示器(标准输出),但不是唯一输入

  1、3文件标识符[0 - 9]  

    0 ---标准输入

    1 ---标准输出

    2 ---标准错误

  1、4常见重定向符号

    标准输出

      >覆盖重定向

      Set -C 去掉覆盖重定向功能

      >| 强制重定向

      >>追加重定向

    标准输入:

      <  tr  替换文件内容

      << 将多行数据同时输入(用法 cat >>a.txt<<EOF)

    错误输出

      2>

      拓展:不需要输出内容,只需要输出状态;

          Ls /etc/ > /dev/null 2> /dev/null

          $? -eq 0

      2>>

      &> &>> == 2&>1

          Ls/etc/ &> /dev/null

2、管道符 -- tee

  command1 | command2 | command3 | ...

     前一个命令的执行结果交给后一个命令执行;

    【Linux思想:结合小功能,实现大功能】

   tee 一路输入,两路输出

      tee /tmp/tee.out

        如果没有文件,会创建文件,默认揉过文件存在有内容,会覆盖;

    技术图片 3、文本处理工具

  3、1 sort  : 排序

    默认情况下是按照字符排序

 

       -n  : 按照数值排序
       -u  : 不出现重复的行(uniq)
       -r  :  逆向排序
       -t  : 指定分段的符号
       -k  :  指定的第几个段

     -f   :忽略字符大小写

 

   3、2 uniq  : 相当于sort -u

 

     sort | uniq=sort -u
           -u 只显示不重复的行
           -d 只显示重复的行
           -c 显示出现的几次

 

   3、3 wc  : 统计

 

      -l 统计行数

 

      -m 统计字符数

 

      -w 统计词

 

   3、4cut  : 文件分割

      -d 分隔符 (不能指定多个分隔符;不能高级格式化输出)

      --Output -delimiter ‘’ 输出指定的分隔符

      -f 指定段号

        例:f2  指定第二列

      -c 指定第几个字

以上是关于重定向和管道符的主要内容,如果未能解决你的问题,请参考以下文章

Linux管道符重定向与环境变量

3.管道符重定向与环境变量

管道符重定向与环境变量

管道符重定向与环境变量

linux中的管道符重定向于环境变量

管道符重定向与环境变量