zoukankan      html  css  js  c++  java
  • Linux 管道命令

    接触Linux已经两年了,平时都是零零散散的学,零零散散的用,也该系统的总结学习一下了。先看了一下平时比较常用的BASH SHELL部分的知识。

    管道命令采用“|”作为分隔符,每个管道的前后都是命令,后一个命令的输入是前一个命令的输出。需要注意的是,管道命令只能处理通过前一个命令传来的正确信息,也就是标准输出的信息,对于标准错误,没有直接处理的能力。

    介绍几个比较常用的命令:

    1、grep:分析一行信息,如果其中有我们需要的信息,就将改行取出。

         语法: grep [-acinv]  '搜索字符串' filename

         参数含义:-a 将二进制文件以文本文件的方式搜索数据

                       -c 计算找到的搜索字符串的数目

                        -i 不区分大小写

                        -n顺便输出行号

                        -v反向选择,输出没有包含搜索字符串的行

         举例:last | grep 'root' -v     把last中不包含root的取出

    2、sort:可以根据不同的数据类型进行排序

         语法: sort [-fbMnrtuk] [file or stdin]

         参数含义: -f 忽略大小写

                         -b 忽略最前面的空格符部分

                         -M 以月份的名字来排序

                          -n使用纯数字进行排序

                          -r反向排序

                          -t分隔符,默认是table键

                          -u相同的数据,只出现一次

                          -k按filed进行排序

       举例:cat /etc/passwd | sort -t ':' -k 3 实现的功能是将/etc/passwd的内容以:分割的第三栏的内容进行排序

    3、wc:计算输出信息的整体数据

         语法: wc [-lwm]

         参数含义:-l显示多少行

                        -w显示多少字

                         -m显示多少字符

          举例: cat /etc/passwd | wc计算一共有多少个用户

    4、tee:双向重导向,同时将数据流分送到文件和屏幕

        语法: tee [-a] file

        参数含义: -a 以累加的方式将数据加入file文档中

    5、tr:用来删除一段消息中的文字,或者是进行文字消息的替换

         语法:tr [-ds] SET1

         参数含义: -d 删除消息中的SET1字段

                        -s替换重复的字符

         举例: last | tr '[a-z]' '[A-Z]' 将last输出的消息中,所有小写变成大写

                 cat home estdostxt | tr -d ' ' >dostxt_Nm将DOS文件的换行符^M符号删除

    6、join:处理两个文件之间的数据,主要是处理两个文件中有相同数据的行

        语法:join [-ti12]  file1 file2

        参数含义: -t join默认以空格符副歌数据,而且比较第一个字段的数据,如果两个文件相同,则将两个数据联成一行,且第一个字段放第一个

                       -i忽略大小写差异

                       -1表示第一个文件要用那个字段来分析

                       -2表示第二个文件要用那个字段来分析

        举例:jion -t ':' /etc/passwd /etc/shadow 将两个文件的相关数据整合成一栏

    7、xargs:产生某个命令的参数,比较好用,需要深入学习

  • 相关阅读:
    HDU1720 A+B Coming
    HDU1390 ZOJ1383 Binary Numbers
    HDU1390 ZOJ1383 Binary Numbers
    HDU2504 又见GCD
    HDU2504 又见GCD
    HDU1335 POJ1546 UVA389 UVALive5306 ZOJ1334 Basically Speaking
    HDU1335 POJ1546 UVA389 UVALive5306 ZOJ1334 Basically Speaking
    HDU1020 ZOJ2478 Encoding
    HDU1020 ZOJ2478 Encoding
    HDU2097 Sky数
  • 原文地址:https://www.cnblogs.com/jiangzhao/p/3287344.html
Copyright © 2011-2022 走看看