zoukankan      html  css  js  c++  java
  • Linux--shell重定向与文件处理命令--02

    一、IO重定向

    1、数据输入:键盘---标准输入,但并不是唯一输入方式

    echo123456” | passwd –stdin username   #同时添加用户和密码
    
    while line;do
      循环体...$line
     done < /etc/passwd

    2、数据输出:显示器---标准输出,但并不是唯一输出方式

     ls /etc/ > a.txt

    3、fd文件标识符:0-9,被定义的文件标识符有0,1,2   作用相当于给文件分类

    0 代表标准输出

    1 代表标准输入

    2 代表标准错误输出(标准错误)

    4、常见重定向符号:

    a) 标准输出:

    > : 覆盖重定向(非常危险) 

      关闭覆盖重定向  set -C 这个命令使不能覆盖  set +C启用

     >| :强制重定向 

    >> :追加重定向

    b) 标准输入:

    <  输入

    <<  将多行数据同时输入

            cat >> a.txt <<EOF

    tr : 替换文件内容

    #把passwd文件里的abc都替换为ABC,输出到passwd.bak中,abc是单个字符逐一匹配替换的
    tr abc ABC < /etc/passwd  > /etc/passwd.bak

    c) 错误输出:

    2>   :不需要输出内容,只输出状态,把输出内容重定向到/dev/null

    2>>  : ls 12345 2>> a.txt

    d) 混合输出,无论正确错误都输出重定向

    &>  

    &>> 

    ls /etc/  &>  /dev/null

    二、管道符

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

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

    free -m | grep “^Men” | cut -d” “ -f19
    free -m | grep "^Mem" | awk '{print $3}'

    命令:tee   一路输入,两路输出 (屏幕打印一次,保存文件一次)

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

    练习:

    将/etc/passwd文件中的前5行内容转换为大写后保存至/tmp/passwd.out文件中;

    head -5 /etc/passwd | tr [a-z] [A-Z] > /tmp/passwd.out

    将登录至当前系统上用户信息汇总的后3位信息转换为大写后保存至/tmp/who.out文件中;

    who | tail -3 | cut -d' ' -f1 | tr [[:lower:]] [[:upper:]] | tee /tmp/who.out

    三、文本处理工具

    1、wc(word count)文本统计

    用法:wc textfile 查看行数、字符个数、文件大小、文件名

    参数:

      -l:行数

      -w:字符数

      -c:文件大小

    2、cut  文件分割

      -d 指定分隔符

      -f  指定提取哪一列

           - -output-delimiter=’xxx’ 将输出的分隔符,替换为自己想用的分隔符

           cut的局限性

                  不能同时指定多个分隔符

                  不能做高级的格式化输出

    3、sort 排序,按照ASCII排序

    参数:

      -r 逆序

      -n 以数值大小排序

      -f 忽略字符大小写

       -t 指定分隔符

      -k 指定第几段进行排序

      -u 排序去重复

    4、uniq 去重

    连续且相同的才视为重复

    建议先排序,后去重

    参数:

      -c 统计某些字符出现的次数

      -d 只显示重复的行

  • 相关阅读:
    JavaScript常见注意点(一)
    jspServlet2.5和Servlet3的区别
    jspMVC案例
    jQuery入口函数的写法
    Servlet 简介
    jspMVC设计模式和Servlet2.5入门案例
    display 属性
    JSON简单使用
    Tomcat修改端口号
    php开发环境简单配置
  • 原文地址:https://www.cnblogs.com/gxnihao/p/11347597.html
Copyright © 2011-2022 走看看