]>
Commit | Line | Data |
---|---|---|
44bd5ea7 A |
1 | .\" Copyright (c) 1990, 1991, 1993 |
2 | .\" The Regents of the University of California. All rights reserved. | |
3 | .\" | |
4 | .\" This code is derived from software contributed to Berkeley by | |
5 | .\" John B. Roll Jr. and the Institute of Electrical and Electronics | |
6 | .\" Engineers, Inc. | |
7 | .\" | |
8 | .\" Redistribution and use in source and binary forms, with or without | |
9 | .\" modification, are permitted provided that the following conditions | |
10 | .\" are met: | |
11 | .\" 1. Redistributions of source code must retain the above copyright | |
12 | .\" notice, this list of conditions and the following disclaimer. | |
13 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
14 | .\" notice, this list of conditions and the following disclaimer in the | |
15 | .\" documentation and/or other materials provided with the distribution. | |
16 | .\" 3. All advertising materials mentioning features or use of this software | |
17 | .\" must display the following acknowledgement: | |
18 | .\" This product includes software developed by the University of | |
19 | .\" California, Berkeley and its contributors. | |
20 | .\" 4. Neither the name of the University nor the names of its contributors | |
21 | .\" may be used to endorse or promote products derived from this software | |
22 | .\" without specific prior written permission. | |
23 | .\" | |
24 | .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | |
25 | .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
26 | .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
27 | .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | |
28 | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
29 | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
30 | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
31 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
32 | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
33 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
34 | .\" SUCH DAMAGE. | |
35 | .\" | |
36 | .\" @(#)xargs.1 8.1 (Berkeley) 6/6/93 | |
9bafe280 A |
37 | .\" $FreeBSD: src/usr.bin/xargs/xargs.1,v 1.23 2002/06/22 12:47:56 jmallett Exp $ |
38 | .\" $xMach: xargs.1,v 1.2 2002/02/23 05:23:37 tim Exp $ | |
44bd5ea7 | 39 | .\" |
9bafe280 | 40 | .Dd May 7, 2001 |
44bd5ea7 A |
41 | .Dt XARGS 1 |
42 | .Os | |
43 | .Sh NAME | |
44 | .Nm xargs | |
45 | .Nd "construct argument list(s) and execute utility" | |
46 | .Sh SYNOPSIS | |
47 | .Nm | |
9bafe280 A |
48 | .Op Fl 0pt |
49 | .Op Fl E Ar eofstr | |
50 | .Oo | |
51 | .Fl I Ar replstr | |
52 | .Op Fl R Ar replacements | |
53 | .Oc | |
54 | .Op Fl J Ar replstr | |
55 | .Op Fl L Ar number | |
56 | .Oo | |
44bd5ea7 | 57 | .Fl n Ar number |
9bafe280 | 58 | .Op Fl x |
44bd5ea7 A |
59 | .Oc |
60 | .Op Fl s Ar size | |
9bafe280 | 61 | .Op Ar utility Op Ar argument ... |
44bd5ea7 A |
62 | .Sh DESCRIPTION |
63 | The | |
64 | .Nm | |
65 | utility reads space, tab, newline and end-of-file delimited arguments | |
66 | from the standard input and executes the specified | |
67 | .Ar utility | |
68 | with them as | |
69 | arguments. | |
70 | .Pp | |
71 | The utility and any arguments specified on the command line are given | |
72 | to the | |
73 | .Ar utility | |
74 | upon each invocation, followed by some number of the arguments read | |
75 | from standard input. | |
76 | The | |
77 | .Ar utility | |
78 | is repeatedly executed until standard input is exhausted. | |
79 | .Pp | |
80 | Spaces, tabs and newlines may be embedded in arguments using single | |
81 | (``\ '\ '') | |
82 | or double (``"'') quotes or backslashes (``\e''). | |
83 | Single quotes escape all non-single quote characters, excluding newlines, | |
84 | up to the matching single quote. | |
85 | Double quotes escape all non-double quote characters, excluding newlines, | |
86 | up to the matching double quote. | |
87 | Any single character, including newlines, may be escaped by a backslash. | |
88 | .Pp | |
89 | The options are as follows: | |
9bafe280 | 90 | .Bl -tag -width indent |
44bd5ea7 | 91 | .It Fl 0 |
9bafe280 A |
92 | Change |
93 | .Nm | |
94 | to expect NUL | |
95 | (``\\0'') | |
96 | characters as separators, instead of spaces and newlines. | |
97 | This is expected to be used in concert with the | |
44bd5ea7 | 98 | .Fl print0 |
9bafe280 | 99 | function in |
44bd5ea7 | 100 | .Xr find 1 . |
9bafe280 A |
101 | .It Fl E Ar eofstr |
102 | Use | |
103 | .Ar eofstr | |
104 | as a logical EOF marker. | |
105 | .It Fl I Ar replstr | |
106 | Execute | |
107 | .Ar utility | |
108 | for each input line, replacing one or more occurences of | |
109 | .Ar replstr | |
110 | in up to | |
111 | .Ar replacements | |
112 | (or 5 if no | |
113 | .Fl R | |
114 | flag is specified) arguments to | |
115 | .Ar utility | |
116 | with the entire line of input. | |
117 | The resulting arguments, after replacement is done, will not be allowed to grow | |
118 | beyond 255 bytes; this is implemented by concatenating as much of the argument | |
119 | containing | |
120 | .Ar replstr | |
121 | as possible, to the constructed arguments to | |
122 | .Ar utility , | |
123 | up to 255 bytes. | |
124 | The 255 byte limit does not apply to arguments to | |
125 | .Ar utility | |
126 | which do not contain | |
127 | .Ar replstr , | |
128 | and furthermore, no replacement will be done on | |
129 | .Ar utility | |
130 | itself. | |
131 | Implies | |
132 | .Fl x . | |
133 | .It Fl J Ar replstr | |
134 | If this option is specified, | |
135 | .Nm | |
136 | will use the data read from standard input to replace the first occurrence of | |
137 | .Ar replstr | |
138 | instead of appending that data after all other arguments. | |
139 | This option will not effect how many arguments will be read from input | |
140 | .Pq Fl n , | |
141 | or the size of the command(s) | |
142 | .Nm | |
143 | will generate | |
144 | .Pq Fl s . | |
145 | The option just moves where those arguments will be placed in the command(s) | |
146 | that are executed. | |
147 | The | |
148 | .Ar replstr | |
149 | must show up as a distinct | |
150 | .Ar argument | |
151 | to | |
152 | .Nm . | |
153 | It will not be recognized if, for instance, it is in the middle of a | |
154 | quoted string. | |
155 | Furthermore, only the first occurrence of the | |
156 | .Ar replstr | |
157 | will be replaced. | |
158 | For example, the following command will copy the list of files and | |
159 | directories which start with an uppercase letter in the current | |
160 | directory to | |
161 | .Pa destdir : | |
162 | .Pp | |
163 | .Dl /bin/ls -1d [A-Z]* | xargs -J % cp -rp % destdir | |
164 | .Pp | |
165 | .It Fl L Ar number | |
166 | Call | |
167 | .Ar utility | |
168 | for every | |
169 | .Ar number | |
170 | lines read. | |
171 | If EOF is reached and fewer lines have been read than | |
172 | .Ar number | |
173 | then | |
174 | .Ar utility | |
175 | will be called with the available lines. | |
44bd5ea7 A |
176 | .It Fl n Ar number |
177 | Set the maximum number of arguments taken from standard input for each | |
178 | invocation of the utility. | |
179 | An invocation of | |
180 | .Ar utility | |
181 | will use less than | |
182 | .Ar number | |
183 | standard input arguments if the number of bytes accumulated (see the | |
184 | .Fl s | |
185 | option) exceeds the specified | |
186 | .Ar size | |
187 | or there are fewer than | |
188 | .Ar number | |
189 | arguments remaining for the last invocation of | |
190 | .Ar utility . | |
191 | The current default value for | |
192 | .Ar number | |
193 | is 5000. | |
9bafe280 A |
194 | .It Fl p |
195 | Echo each command to be executed and ask the user whether it should be | |
196 | executed. | |
197 | An affirmative response, | |
198 | .Ql y | |
199 | in the POSIX locale, | |
200 | causes the command to be executed, any other response causes it to be | |
201 | skipped. | |
202 | No commands are executed if the process is not attached to a terminal. | |
203 | .It Fl R Ar replacements | |
204 | Specify the maximum number of arguments that | |
205 | .Fl I | |
206 | will do replacement in. | |
44bd5ea7 A |
207 | .It Fl s Ar size |
208 | Set the maximum number of bytes for the command line length provided to | |
209 | .Ar utility . | |
9bafe280 | 210 | The sum of the length of the utility name, the arguments passed to |
44bd5ea7 A |
211 | .Ar utility |
212 | (including | |
213 | .Dv NULL | |
9bafe280 A |
214 | terminators) and the current environment will be less than or equal to |
215 | this number. | |
44bd5ea7 A |
216 | The current default value for |
217 | .Ar size | |
218 | is | |
219 | .Dv ARG_MAX | |
9bafe280 | 220 | - 4096. |
44bd5ea7 A |
221 | .It Fl t |
222 | Echo the command to be executed to standard error immediately before it | |
223 | is executed. | |
224 | .It Fl x | |
225 | Force | |
226 | .Nm | |
227 | to terminate immediately if a command line containing | |
228 | .Ar number | |
229 | arguments will not fit in the specified (or default) command line length. | |
230 | .El | |
231 | .Pp | |
232 | If no | |
233 | .Ar utility | |
234 | is specified, | |
235 | .Xr echo 1 | |
236 | is used. | |
237 | .Pp | |
238 | Undefined behavior may occur if | |
239 | .Ar utility | |
240 | reads from the standard input. | |
241 | .Pp | |
242 | The | |
243 | .Nm | |
244 | utility exits immediately (without processing any further input) if a | |
245 | command line cannot be assembled, | |
246 | .Ar utility | |
247 | cannot be invoked, an invocation of the utility is terminated by a signal | |
248 | or an invocation of the utility exits with a value of 255. | |
249 | .Sh DIAGNOSTICS | |
44bd5ea7 | 250 | The |
9bafe280 A |
251 | .Nm |
252 | utility exits with a value of 0 if no error occurs. | |
253 | If | |
44bd5ea7 | 254 | .Ar utility |
9bafe280 A |
255 | cannot be found, |
256 | .Nm | |
257 | exits with a value of 127, otherwise if | |
44bd5ea7 | 258 | .Ar utility |
9bafe280 A |
259 | cannot be executed, |
260 | .Nm | |
261 | exits with a value of 126. | |
262 | If any other error occurs, | |
263 | .Nm | |
264 | exits with a value of 1. | |
44bd5ea7 A |
265 | .Sh SEE ALSO |
266 | .Xr echo 1 , | |
9bafe280 A |
267 | .Xr find 1 , |
268 | .Xr execvp 3 | |
44bd5ea7 A |
269 | .Sh STANDARDS |
270 | The | |
271 | .Nm | |
272 | utility is expected to be | |
273 | .St -p1003.2 | |
274 | compliant. | |
9bafe280 A |
275 | The |
276 | .Fl J | |
277 | and | |
278 | .Fl R | |
279 | options are non-standard | |
280 | .Fx | |
281 | extensions which may not be available on other operating systems. | |
44bd5ea7 | 282 | .Sh HISTORY |
9bafe280 A |
283 | The |
284 | .Nm | |
285 | command appeared in PWB UNIX. | |
286 | .Sh BUGS | |
287 | If | |
288 | .Ar utility | |
289 | attempts to invoke another command such that the number of arguments or the | |
290 | size of the environment is increased, it risks | |
291 | .Xr execvp 3 | |
292 | failing with | |
293 | .Er E2BIG . |