xargs命令——多行变单行的实用命令
目录
- 什么是xargs命令
- xargs命令的参数
- xargs命令的选项
- xargs命令的实例
- 1. 查询根目录下的所有目录中的内容
- 2. 将t.txt文件变为单行
- 3. 输出t.txt文件的第三个词
- 下篇预告
什么是xargs命令
xargs命令,是一个把文件中的每一行都合并为一行的命令,也可以说是把文本中所有的\n
都变为空格的命令,有时,也可以通过xargs命令读取到的每一行文本都作为命令的参数来使用。在某些情况下非常实用。
xargs命令的参数
xargs命令,它的参数是这样的:
xargs [选项] [子命令 [子命令参数]]
如你所见,xargs命令与大多数命令不同的是——有子命令,这意味着,你可以通过xargs命令的子命令参数里再填入一个xargs命令。并且,xargs命令从文本文件读取到的每一行文本,就相当于管道符,都是当作命令的参数而追加在子命令的参数里的。
说到xargs的子命令,其实还有一个需要注意的一点,就是子命令不能作为命令的引用。
当然,如果xargs命令就不用子命令及子命令的参数,那就只是单纯的将文本文件从多行变为单行了,但想设置要读取的文本文件,要么就用-a
选项,要么就要用管道符。
xargs命令的选项
xargs命令的选项,除了-a
外,其实并不是太重要,但如果你想看,那也可以。
选项 | 用途 |
---|---|
-a | 设定读取的文本文件 |
-t | 输出通过xargs命令处理之后的子命令 |
xargs命令的实例
知晓xargs命令之后,接下来就要去实际的用xargs命令了。下面就是做实例时需要的t.txt文本文件。
1 2
3 4
5 6
1. 查询根目录下的所有目录中的内容
ls | xargs ls -l
2. 将t.txt文件变为单行
xargs -a t.txt
3. 输出t.txt文件的第三个词
xargs -a t.txt | awk '{print $3}'
下篇预告
unity随机生成未知符号教程