unix高手的10个习惯(三)
2009-02-03 11:31
369 查看
7.在 find 之外使用 xargs
使用
~ $ find some-file-criteria some-file-path | /
> xargs some-great-command-that-needs-filename-arguments
然而,不要将
传递空格分隔的列表
在最简单的调用形式中,
~/tmp $ ls -1 | xargs
December_Report.pdf README a archive.tar mkdirhier.sh
~/tmp $ ls -1 | xargs file
December_Report.pdf: PDF document, version 1.3
README: ASCII text
a: directory
archive.tar: POSIX tar archive
mkdirhier.sh: Bourne shell script text executable
~/tmp $
使用
~/tmp $ ls -l | xargs
-rw-r--r-- 7 joe joe 12043 Jan 27 20:36 December_Report.pdf -rw-r--r-- 1 /
root root 238 Dec 03 08:19 README drwxr-xr-x 38 joe joe 354082 Nov 02 /
16:07 a -rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar -rwxr-xr-x 1 /
joe joe 3239 Sep 30 12:40 mkdirhier.sh
~/tmp $
从技术上讲,使用
[/code]
使用
xargs工具作为筛选器,以充分利用从
find命令挑选的输出
~ $ find some-file-criteria some-file-path | /
> xargs some-great-command-that-needs-filename-arguments
然而,不要将
xargs仅看作是
find的辅助工具;它是一个未得到充分利用的工具之一,当您养成使用它的习惯时,将会希望进行所有试验,包括以下用法
传递空格分隔的列表
在最简单的调用形式中,
xargs就像一个筛选器,它接受一个列表(每个成员分别在单独的行上)作为输入。该工具将那些成员放置在单个空格分隔的行上
~ $ xargs a b c Control-D a b c ~ $ [code]xargs工具的使用示例
~/tmp $ ls -1 | xargs
December_Report.pdf README a archive.tar mkdirhier.sh
~/tmp $ ls -1 | xargs file
December_Report.pdf: PDF document, version 1.3
README: ASCII text
a: directory
archive.tar: POSIX tar archive
mkdirhier.sh: Bourne shell script text executable
~/tmp $
使用
xargs工具来将文本筛选到单个行中
~/tmp $ ls -l | xargs
-rw-r--r-- 7 joe joe 12043 Jan 27 20:36 December_Report.pdf -rw-r--r-- 1 /
root root 238 Dec 03 08:19 README drwxr-xr-x 38 joe joe 354082 Nov 02 /
16:07 a -rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar -rwxr-xr-x 1 /
joe joe 3239 Sep 30 12:40 mkdirhier.sh
~/tmp $
从技术上讲,使用
xargs很少遇到麻烦。缺省情况下,文件结束字符串是下划线 (_);如果将该字符作为单个输入参数来发送,则它之后的所有内容将被忽略。为了防止这种情况发生,可以使用
-e标志,它在不带参数的情况下完全禁用结束字符串。
[/code]
相关文章推荐
- UNIX高手的10个习惯之二
- UNIX高手的10个习惯之二
- UNIX高手的10个习惯之三
- unix高手的10个习惯(二)
- UNIX高手的10个习惯之一
- UNIX高手的10个习惯之四
- UNIX 技巧: UNIX 高手的另外10个习惯
- unix高手的10个习惯(四)
- 培养这10个习惯,你就离UNIX高手更进一步了
- UNIX高手的10个习惯之一
- UNIX高手的10个习惯
- unix高手的10个习惯
- UNIX高手的10个习惯之二
- UNIX高手的10个习惯
- UNIX高手的10个习惯
- 看UNIX高手的10个习惯第1/2页
- unix高手的10个习惯
- 培养这10个习惯,你就离UNIX高手更进一步了
- unix高手的10个习惯(一)
- UNIX高手的10个习惯之一