• 管道命令(pipe)


    20.12.4

    字符转换命令

    tr:用于转换或删除文件中的字符

    [root@www ~]# tr [-ds] SET1 ...
    选项与参数:
    -d  :删除信息当中的 SET1 这个字符串;
    -s  :取代掉重复的字符!
    

    col:过滤控制字符

    [root@www ~]# col [-xb] 
    选项与参数: 
    -x  :将 tab 键转换成对等的空格键 
    -b  :在文字内有反斜杠 (/) 时,仅保留反斜杠最后接的那个字符
    

    join:用于将两个文件中,指定栏位内容相同的行连接起来

    [root@www ~]# join [-ti12] file1 file2
    选项与参数:
    -t  :join 默认以空格符分隔数据,并且比对『第一个字段』的数据,
          如果两个文件相同,则将两笔数据联成一行,且第一个字段放在第一个!
    -i  :忽略大小写的差异;
    -1  :这个是数字的 1 ,代表『第一个文件要用那个字段来分析』的意思;
    -2  :代表『第二个文件要用那个字段来分析』的意思。
    

    paste:用于合并文件的列

    [root@www ~]# paste [-d] file1 file2
    选项与参数:
    -d  :后面可以接分隔字符。默认是以 [tab] 来分隔
    -   :如果 file 部分写成 - ,表示来自 standard input 的数据的意思。
    

    expand:用于将文件的制表符【TAB】转换为空格,将结果显示到标准输出设备

    [root@www ~]# expand [-t] file
    选项与参数:
    -t  :后面可以接数字。一般来说,一个 tab 按键可以用 8 个空格键取代。
          我们也可以自行定义一个 [tab] 按键代表多少个字符
    

    split:用于将一个文件分割成数个

    [root@www ~]# split [-bl] file PREFIX
    选项与参数:
    -b  :后面可接欲分割成的文件大小,可加单位,例如 b, k, m 等;
    -l  :以行数来进行分割。
    PREFIX :代表前导符的意思,可作为分割文件的前导文字。
    

    参数代换

    xargs:给命令传递参数的一个过滤器,也是组合多个命令的一个工具

    [root@www ~]# xargs [-0epn] command
    选项与参数:
    -0  :如果输入的 stdin 含有特殊字符,例如 `, \, 空格键等等字符时,这个 -0 参数
          可以将他还原成一般字符。这个参数可以用于特殊状态喔!
    -e  :这个是 EOF (end of file) 的意思。后面可以接一个字符串,当 xargs 分析到
          这个字符串时,就会停止继续工作!
    -p  :在运行每个命令的 argument 时,都会询问使用者的意思;
    -n  :后面接次数,每次 command 命令运行时,要使用几个参数的意思。看范例三。
    当 xargs 后面没有接任何的命令时,默认是以 echo 来进行输出喔!
    

    关于减号 - 的用途

    管线命令在 bash 的连续的处理程序中是相当重要的!另外,在 log file 的分析当中也是相当重要的一环, 所以请特别留意!另外,在管线命令当中,常常会使用到前一个命令的 stdout 作为这次的 stdin , 某些命令需要用到文件名 (例如 tar) 来进行处理时,该 stdin 与 stdout 可以利用减号 "-" 来替代, 举例来说:

    [root@www ~]# tar -cvf - /home | tar -xvf - 
    

    上面这个例子是说:『我将 /home 里面的文件给他打包,但打包的数据不是纪录到文件,而是传送到 stdout; 经过管线后,将 tar -cvf - /home 传送给后面的 tar -xvf - 』。后面的这个 - 则是取用前一个命令的 stdout, 因此,我们就不需要使用 file 了!这是很常见的例子喔!注意注意!

  • 相关阅读:
    python——math模块实现向上、向下取整
    Python 实现定时任务
    Python 删除某一目录下的所有文件或文件夹
    linux -bash: netstat: command not found及下载报错解决方法
    CentOS password无法输入问题
    差分信号(Differential Signal)
    成功做事的要点
    记我参加过的竞赛——“飞思卡尔杯”全国大学生智能汽车竞赛
    C ~ 一个串口接收思路
    C ~ char int 等数据转换问题
  • 原文地址:https://www.cnblogs.com/ananing/p/14088141.html
Copyright © 2020-2023  润新知