zoukankan      html  css  js  c++  java
  • Linux基础之重定向|grep

    重定向

    >    :覆盖输出
    >>    :追加输出

    2>    :重定向错误输出
    2>>    : 追加方式

    &>    : 重定向标准输出或者错误输出至同一个文件


    <    :输入重定向



    管道:前一个命令的输出结果,当做后一个命令的输入

    cut -d: -f1 /etc/passwd | sort | tr 'a-z' 'A-Z'
    wc -l /etc/passwd | cut -d' ' -f1

    tee
    输出到屏幕并且保存到文件中
    echo "hello world" | tee /tmp/test.txt


    1 统计/usr/bin目录下文件个数
    2取出当前系统上所有用户的shell,要求每种shell只显示一次,并且按顺序进行显示
    3显示/var/log目录下每个文件的内容类型
    4取出/etc/inittab文件的倒数第6行
    5取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中
    6显示/etc/目录下所有以pa开头的文件,并统计其个数
    7不使用文本编辑,将alias cls=clear一行内容添加至当前用户的.bashrc文件中

    ls /usr/bin |wc -l
    cut -d: -f7 /etc/passwd |sort -u
    file /var/log/*
    tail -6 /etc/inittab | head -1
    tail -9 /etc/passwd | head -1 | cut -d: -f1,7 | tee /tmp/users
    ls -d /etc/pa* | wc -l
    print "alias cls=clear" >> ~/.bashrc





    grep egrep fgrep

    grep:根据模式,搜索文本,并将符合模式是文本行显示出来
    PATTERN:文本字符和正则表达式的元字符组合而成匹配条件

    grep [OPTIONS] PATTERN [FILE...]
        -i
        --color
        -v :显示没有被模式匹配到的行
        -o :只显示被模式匹配到的字符串


        
    *:任意长度的任意字符
    ?:任意单个字符
    []:匹配指定范围内的单个字符
    [^]:匹配指定范围外的单个字符
    [:digit:] [:lower:] [:upper:] [:punct:] [:space:] [:alpha:] [:alnum:]

        
        
        
        
    grep里面正则表达式和上述不同
    元字符:
    .:任意单个字符
    grep 'r..r' /etc/passwd

    字符个数:
    *:匹配其前面的字符任意次
        cat test.txt    
        ab, aab, acb, adb, amnb

        .*:任意长度的任意字符


    ?:匹配其前面字符的1次或0次
    {m,n}:匹配其前面的字符至少m次,至多n次

    grep 'a.{1,3}b' test.txt

    ^:行首
    $:行尾
    ^$:空白行



    <或者:其后面的任意字符必须作为单词首部出现
    >或者:其前面的任意字符必须作为单词尾部出现


    <abc> :abc必须作为整个单词出现
            cat test.txt
            this is root
            the user is mroot
            chroot is a command

    grep "<root>" test.txt


    分组:
    ()
        (ab)*
    后项引用
        1:第一个左括号以及与之对应的右括号所包括的所有内容
        2
        3
    he love his lover.
    she like her liker.
    he like his lover.
    she love her liker.
    she like her.

    grep '(l..e).*1' test.txt

    grep '([0-9]).*1$' /etc/inittab
    查找行中出现任意一个数字行尾以相同数字结尾的行



  • 相关阅读:
    从菜鸟腾飞至专家(我的心得)
    SQL 绕圈算法???
    asp access 时间段
    SQL 绕圈算法2???
    月薪三万的一道面试题
    Java方法参数是引用调用还是值调用?——值调用
    简述一个大型交易网站的发展旅程
    Java分布式应用学习笔记04JDK的并发包的集合总结
    ORACLE 执行计划中cost cardinality bytes cpu_cost io_cost解释
    剖析float型的内存存储和精度丢失问题
  • 原文地址:https://www.cnblogs.com/fengzhongzhuzu/p/8727890.html
Copyright © 2011-2022 走看看