码迷,mamicode.com
首页 > 系统相关 > 详细

Linux学习日记--基础命令(4)--文本处理,重定向,管道

时间:2015-08-26 07:13:19      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:数据流   linux   日记   file   重定向   

打开的文件都有一个fd: file descriptor (文件描述符)

        标准输入:keyborad, 0
        标准输出:monitor, 1
        标准错误输出:monitor, 2


        I/O重定向:改变标准位置

        输出重定向:COMMAND > NEW_POS, COMMAND >> NEW_POS
            >:覆盖重定向,目标文件中的原有内容会被清除;
            >>: 追加重定向,新内容会追加至目标文件尾部;

            # set -C: 禁止将内容覆盖输出至已有文件中;
                强制覆盖:>|
            # set +C:

            2>: 覆盖重定向错误输出数据流;
            2>>: 追加重定向错误输出数据流;

            标准输出和错误输出各自定向至不同位置:
                COMMAND > /path/to/file.out 2> /path/to/error.out

            合并标准输出和错误输出为同一个数据流进行重定向:
                &>:覆盖重定向
                &>>:追加重定向

  
                COMMAND > /path/to/file.out 2> &1
                COMMAND >> /path/to/file.out 2>> &1

               >>X 2>>&1  正常输出到X 错误输出到跟正常输出一样的地方(X)

        输入重定向:<

            tr命令:转换或删除字符
                tr [OPTION]... SET1 [SET2]  把SET1 转换成 SET2
                -d  删除SET1不转换
        HERE Documentation:<<
            # cat << EOF  从终端输入直到输入EOF
            # cat > /path/to/somefile << EOF

    管道:
        COMMAND1 | COMMAND2 | COMMAND3 |...  上一个命令的执行返回值给下一个命令

        Note:最后一个命令会在当前shell进程的子shell进程中执行;

        tee命令:
            tee [OPTION]... [FILE]...

   一般用于中间管道,将输入到进程的数据直接输出到指定文件一份,另一份传给下一命令(通过管道),或者直接输出到屏幕


文本处理工具:wc, cut, sort, uniq

    wc命令: 统计文章详情
        wc [OPTION]... [FILE]...
            -l: lines  统计行数
            -w: words   统计单词数
            -c: characters   统计字数

    cut命令:  对文章按要求切割
        cut [OPTION]... [FILE]...
            -d DELIMITER: 指明分隔符
            -f FILEDS: 指明分割后取那些段落
                #: 第#个字段
                #,#[,#]:离散的多个字段,例如1,3,6
                #-#:连续的多个字段, 例如1-6

                混合使用:1-3,7
            --output-delimiter=STRING

    sort命令: 排序
        sort [OPTION]... [FILE]...
            -f: 忽略字符大小写
            -r: 逆序
            -t DELIMITER: 字段分隔符
            -k #:以指定字段为标准排序
            -n: 以数值大小进行排序
            -u: uniq,排序后去重,临近去重

    uniq命令:
        uniq [OPTION]... [FILE]...
            -c: 显示每行重复出现的次数;
            -d: 仅显示重复过的行;
            -u: 仅显示不曾重复的行;

 


Linux学习日记--基础命令(4)--文本处理,重定向,管道

标签:数据流   linux   日记   file   重定向   

原文地址:http://openex.blog.51cto.com/6280069/1688259

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!