find . -type f -name"*.txt" -print0 | xargs -0 grep"example" 注意这里使用了-print0和-0选项。这是因为文件名可能包含空格、引号等特殊字符,这些字符可能会干扰命令的执行。-print0使得find命令的输出以 null 字符(而不是换行符)作为文件名之间的分隔符,而xargs -0则告诉xargs期待以
find. -name"*.txt"|xargsrm 但是这个命令如果遇到文件名里有空格或者换行符,就会出错。因为xargs识别字符段的标识是空格或者换行符,所以如果一个文件名里有空格或者换行符,xargs就会把它识别成两个字符串,自然就出错了。 这时候就需要-print0和-0了。 find -print0表示在find的每一个结果之后加一个NULL字符,...
find 和xargs 是两个非常有用的命令行工具,它们经常一起使用以提高效率 使用find 查找文件并将其传递给 xargs: find . -name "*.txt" -print0 | xargs -0 rm 复制代码 这个命令会在当前目录及其子目录中查找所有扩展名为 .txt 的文件,并将它们传递给 xargs,然后 xargs 会删除这些文件。-print0 和-0 ...
find 中的-print0 和和 xargs 中-0 的奥妙 原文地址: 原文地址:find 中的-print0 和 xargs 中-0 的奥妙 作者:改变自己 默认情况下, find 每输出一个文件名, 后面都会接着输出一个换行符 ('n'), 因此我们看到的 find 的输出都是一行一行的: [bash-4.1.5] ; ls -l total 0 -rw-r--r-- 1 ...
xargs是一个构建并执行命令行的工具,它可以接收输入数据并将其转换为特定格式的命令行参数。当find的输出需要传递给xargs时,如果文件名中包含空格或特殊字符,可能会导致xargs错误地解释文件名。此时,可以使用-print0和xargs的-0(或--null)选项来确保正确处理所有文件名。 示例 假设你想删除当前目录及其子目录中所有扩...
find 和 xargs 各有一个选项:"-print0" 和 "-0"。它们可以让 find 和 xargs 不用空格符,而用 "NULL"(ASCII字符 0)作为文件名的分隔符,这样就可以避免文件名里有空格导致的问题。 man page里的解释: man xargs OPTIONS -0, --null Input items are terminated by a null character instead of by ...
看到命令find . -name '*.h' -print0 | xargs -0 checkout-cache -f -- 不明白其中-print0和 xargs -0的用法。查了一下,转载一篇备忘。 xargs命令的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题 以下内容转自http://blog.163.com/laser_meng@126/blog/static/169727844201171...
find/type f-print|xargs file 查找系统中的每一个普通文件,并用 file 命令来测试它们分别属于哪一类文件。 find.-type f-name"\.log"-print|xargs rm 查找当前目录下的.log 文件,并删除 。 find.-type f-exec ls-l{}\;用 ls-l 列出所有匹配到的文件。
当用find命令查找文件然后用xargs来批量处理文件时,当文件名中包含空格字符时,就会导致处理失败,因为xargs会认为空格前后分别是两个不同的文件。如下图: 我们查看find命令帮助文档可以发现,它有一个专门针对该情况并配合xargs命令的参数:-print0 代码语言:text ...
linux find命令中-print0和xargs中-0的用法。 1、默认情况下, find命令每输出一个文件名, 后面都会接着输出一个换行符 ('\n'), 因此find 的输出都是一行一行的: [bash-4.1.5] ls -l total 0 -rw-r--r-- 1 root root 0 2010-08-02 18:09 file1.log ...