网站优化用户体验,企业网站排名怎么优化,做网站的主机配置,seo查询seo优化文章目录一、命令介绍二、选项参数三、命令示例#xff08;一#xff09;批量重命名目录中的文件#xff08;二#xff09;给多个命令传递参数一、命令介绍
xargs命令是给其他命令传递参数的一个过滤器#xff0c;也是组合多个命令的一个工具。它擅长将标准输入数据转换成…
文章目录一、命令介绍二、选项参数三、命令示例一批量重命名目录中的文件二给多个命令传递参数一、命令介绍
xargs命令是给其他命令传递参数的一个过滤器也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。
xargs也可以将单行或多行文本输入转换为其他格式例如多行变单行单行变多行。xargs的默认命令是echo空格是默认定界符。这意味着通过管道传递给xargs的输入将会包含换行和空白不过通过xargs的处理换行和空白将被空格取代。xargs是构建单行命令的重要组件之一。
二、选项参数
以后再整理…
三、命令示例
一批量重命名目录中的文件
[roothtlwk0001host test]# ls | xargs -t -i mv {} {}.bak注xargs 读取管道 | 中的数据-i 选项告诉 xargs 用每项的名称替换 {}-t 选项指示 xargs 先打印命令然后再执行。
二给多个命令传递参数
如果 xargs 要将命令行参数传给多个命令可以使用 -I 参数。-I 指定接收命令行参数的变量名。
[roothtlwk0001host test]# cat foo.txt
one
two
three
[roothtlwk0001host test]# cat foo.txt | xargs -I file sh -c echo file; mkdir file
one
two
three
[roothtlwk0001host test]# ls
one two three上面代码中文件 foo.txt 内有三行的文本我们希望对每一项命令行参数执行两个命令echo和mkdir使用 -I file 表示 file 是命令行参数的替代字符串就是使用 file 来指代命令行参数所以 file 其实类似变量的作用。执行命令时具体的参数会替代掉 echo file; mkdir file 里面的两个 file。
具体点就是xargs 读取管道中的数据就是三个词one、two、three转换成命令行参数由变量 file 来接收所以首先 fileone于是echo file; mkdir file 就变成了 echo one;mkdir one然后执行命令 sh而命令 sh 则在选项 -c 的作用下把后面的字符串视为 shell 命令脚本于是就执行这个脚本语句也就是执行命令 echo one 和 mkdir one。
关于命令 sh详见《Linux 命令之 sh – Shell 命令语言解释器》