通配符与 xargs 命令详解

键盘通配符

当查找文件时,不知道真正字符或不想键入完整名字时,命令又不支持正则表达式模块时,常常使用通配符代替一个或多个真正字符。
*             代替0个或多个字符。
?            匹配任何单个字符,且不能为空字符。
[]            匹配中括号内的任意一个字符。
 
通配符示例:
ls *.conf
ls /home/*.sh
ls h*.conf
ls test?.c
ls [abc]*

shell特殊字符命令

<                   标准输入(stdio),将命令中接收输入的途径由默认的键盘更改为指定的文件,并删除以前的数据。
 
<<                 标准输入,将命令中接收输入的途径由默认的键盘更改为指定的文件,文件结尾加入内容,不会删除已有数据
 
>                   标准输出(stdout),将命令的执行结果输出到指定的文件中,并删除以前的数据。
 
>>                 标准输出,将命令执行的结果追加输出到指定文件,文件结尾加入内容,不会删除已有数据
 
2>                 标准错误(stderr),清空指定文件的内容,并将标准错误信息保存到该文件中
 
2>>               标准错误,将标准错误信息追加输出到指定的文件中
 
&>                 将标准错误的内容全部保存到指定的文件中。
注:箭头的指向就是数据的流向。
 
|                    管道(把前一个命令结果的输出交给后一个程序处理)。
/                    让一个有意义的字符转义成普通字符。
''                   单引号,不保留属性,全部当成普通字符。
""                  双引号,用于原本保留属性。
``                  反引号用于命令替换, ·· 中放可执行的命令,bash会将命令执行得的结果视为一个变量或变量列表。 
{}                  生产字符或数字序列,一般配合 echo 等命令使用,find命令里的{}意思是前面命令的结果。
(())               数值运算,用法灵活,效率高

xargs 是命令传递之间的一个参数过滤器,这意味着将包含换行和空白的输出通过管道交给 xargs 处理,用空格取代换行和空白,变成单行。

命令格式:somecommand |xargs -parameter command   

参数:

  • -p                          当每次执行一个分隔符(默认的xargs分隔符是空格)的时候询问一次用户。
  • -n num                  num为个数,表示命令在执行的时候一行用的分隔符的个数,默认是用所有的。
  • -t                           表示先打印,然后再执行。
  • -i                           一行一行赋值给 {},默认是单行。
  • -r                          当xargs的输入为空的时候则停止xargs,不用再去执行了。
  • -L num                 从标准输入一次读取 num 行送给 command 命令。
  • -l 同 -L。
  • -d delim               delim分隔符,这里修改的是xargs的分隔符。
 
 
posted @ 2020-03-23 18:13  兰昌  阅读(4378)  评论(0编辑  收藏  举报