zoukankan      html  css  js  c++  java
  • Linux Shell基础 管道符和grep命令

    概述

    管道符:管道符使用"丨"代表。如"命令1丨命令2"。表示命令 1 的正确输出作为命令 2 的操作对象。命令 1 必须有正确输出,而命令 2 必须可以处理命令 1 的输出结果。

    grep命令:在文件中提取和匹配符合条件的字符串行。

    管道符

    1. 在使用"||"命令査看/etc/ 目录时显示的内容非常多,只能看到最后的内容,而不能看到前面输出的内容,此时可以用管道符将输出的结果作为more的操作对象,让more 命令分屏显示文件内容,命令如下:

    [root@localhost ~]# ll -a /etc/|more

     2. 查询一下本地所有网络连接,提取包含 ESTABLISHED(已建立连接)的行,命令如下:

    [root@localhost ~]# netstat -an | grep "ESTABLISHED"

    3. 查询具体的网络连接数量,再使用wc命令统计行数

    [root@localhost ~]# netstat -an | grep "ESTABLISHED" | wc-l

     grep命令

     grep 的作用是在文件中提取和匹配符合条件的字符串行。命令格式如下:
    [root@localhost ~]# grep [选项] "搜索内容" 文件名

    选项:

    • -A 数字:列出符合条件的行,并列出后续的 n 行;
    • -B 数字:列出符合条件的行,并列出前面的 n 行;
    • -c:统计找到的符合条件的字符串的次数;
    • -i:忽略大小写;
    • -n:输出行号;
    • -v:反向査找;
    • --color=auto:搜索出的关键字用颜色显示;

    查找用户信息文件/etc/passwd中有多少可以登录的用户

    [root@localhost ~]# grep "/bin/bash" /etc/passwd

    grep 是行提取命令,所以只要一行数据中包含"搜索内容",就会列出整行的数据。在这个例子中,会在 /etc/passwd 文件中列出所有包含"/bin/bash"的行,而我们已知只有可登录用户的 Shell 才是"/bin/bash",而伪用户的 Shell 是"/sbin/nologin",所以这条命令会列出当前系统中所有可以登录的用户。

    列出符合条件的行,并列出后续的 n 行

    查找包含"root"的行,并列出后续的3行

    [root@localhost ~]# grep -A 3 "root" /etc/passwd

    列出符合条件的行,并输出行号

    查找可以登录的用户,并显示行号

    [root@localhost ~]# grep -n "/bin/bash" /etc/passwd

    列出符合条件的行,再反向査找

    查找不包含"/bin/bash"的行,其实就是列出所有的伪用户

    [root@localhost ~]# grep -v "/bin/bash" /etc/passwd

     grep和find命令的区别

    find命令

    find 命令用于在系统中搜索符合条件的文件名,如果需要模糊査询,则使用通配符进行匹配。find 命令也使用 -regex 选项通过正则表达式规则进行匹配查找,而正则表达式是模糊匹配。

    grep命令

    grep 命令用于在文件中搜索符合条件的字符串,如果需要模糊査询,则使用正则表达式进行匹配。搜索时字符串是包含匹配的。grep 命令和 find 命令不一样,使用 grep 命令在文件中査找符合条件的字符串时,只要搜索的内容包含在数据行中,就会列出整行内容。

  • 相关阅读:
    POJ 2991 Crane(线段树)
    HDU 1496 Equations(哈希表)
    POJ 2785 4 Values whose Sum is 0(哈希表)
    挑战程序设计竞赛 3.2 常用技巧精选(一)
    AOJ 0531:Paint Color(二维离散+imos)
    POJ 2549:Subsets(哈希表)
    POJ 3977:Subset(折半枚举+二分)
    CodeForces 148D Bag of mice
    POJ 2151 Check the difficulty of problems
    HDU 3853 LOOPS
  • 原文地址:https://www.cnblogs.com/lizhouwei/p/9991827.html
Copyright © 2011-2022 走看看