<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Xargs</id>
	<title>Xargs - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Xargs"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Xargs&amp;action=history"/>
	<updated>2026-07-08T11:28:38Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Xargs&amp;diff=344158&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot：​补救1个来源，并将0个来源标记为失效。) #IABot (v2.0.8</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Xargs&amp;diff=344158&amp;oldid=prev"/>
		<updated>2021-02-09T22:14:23Z</updated>

		<summary type="html">&lt;p&gt;补救1个来源，并将0个来源标记为失效。) #IABot (v2.0.8&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{noteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
}}&lt;br /&gt;
{{lowercase}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;xargs&amp;#039;&amp;#039;&amp;#039;是一条[[Unix]]和[[类Unix]][[操作系统]]的常用命令。它的作用是将参数列表转换成小块分段传递给其他命令，以避免参数列表过长的问题&amp;lt;ref&amp;gt;{{Cite web |url=http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long |title=GNU Core Utilities FAQ |accessdate=2008-03-12 |archive-date=2020-11-11 |archive-url=https://web.archive.org/web/20201111173027/https://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Argument-list-too-long |dead-url=no }}&amp;lt;/ref&amp;gt;。xargs的作用一般等同于大多数[[Unix shell]]中的[[反引号]]，但更加灵活易用，并可以正确处理输入中有空格等特殊字符的情况。对于经常产生大量输出的命令如[[find]]、[[locate]]和[[grep]]来说非常有用。&lt;br /&gt;
&lt;br /&gt;
== 示例 ==&lt;br /&gt;
例如，下面的命令：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;rm $(find /path -type f)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
如果path目录下文件过多就会因为“参数列表过长”而报错无法执行。但改用xargs以后，问题即获解决。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;find /path -type f -print0 | xargs -0 rm&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
本例中xargs将[[find]]产生的长串文件列表拆散成多个子串，然后对每个子串调用[[rm]]。-print0表示輸出以null分隔（-print使用換行）；-0表示輸入以null分隔。这样要比如下使用find命令效率高的多。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;find /path -type f -exec rm &amp;#039;{}&amp;#039; \;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
上面这条命令会对每个文件调用&amp;quot;rm&amp;quot;命令。当然使用新版的&amp;quot;find&amp;quot;也可以得到和&amp;quot;xargs&amp;quot;命令同样的效果：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;find /path -type f -exec rm &amp;#039;{}&amp;#039; +&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;find . -name &amp;quot;*.foo&amp;quot; | xargs grep bar&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
该命令大体等价于&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;grep bar $(find . -name &amp;quot;*.foo&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;find . -name &amp;quot;*.foo&amp;quot; -print0 | xargs -0 grep bar&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
使用了GNU特殊规定的空字符。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;find . -name &amp;quot;*.foo&amp;quot; -print0 | xargs -0 -t -r vi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
与上面的基本相同但启动[[vi]]进行编辑。-t参数会提前打印错误信息。-r参数是一个GNU扩展，表明在无输入情况下则不构造命令执行。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;find . -name &amp;quot;*.foo&amp;quot; -print0 | xargs -0 -i mv {} /tmp/trash&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
使用-i参数将{}中内容替换为列表中的内容。&lt;br /&gt;
&lt;br /&gt;
==参见==&lt;br /&gt;
*[[GNU parallel]]&lt;br /&gt;
*[[pexec]]&lt;br /&gt;
&lt;br /&gt;
== 参考 ==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部链接 ==&lt;br /&gt;
* {{man|cu|xargs|SUS|construct argument lists and invoke utility}}&lt;br /&gt;
&lt;br /&gt;
=== 手册页===&lt;br /&gt;
* {{Man/format|1|xargs|http://www.gnu.org/software/findutils/manual/html_node/find_html/Invoking-xargs.html||[[GNU]] [[Findutils]]参考}}&lt;br /&gt;
* {{man|1|xargs|FreeBSD|construct argument list(s) and execute utility}}&lt;br /&gt;
* {{man|1|xargs|NetBSD|construct argument list(s) and execute utility}}&lt;br /&gt;
* {{man|1|xargs|OpenBSD|construct argument list(s) and execute utility}}&lt;br /&gt;
* {{man|1|xargs|Solaris|construct argument lists and invoke utility}}&lt;br /&gt;
&lt;br /&gt;
{{Unix命令}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Unix文字处理实用工具]]&lt;br /&gt;
[[Category:Unix SUS2008实用工具]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
</feed>