Open In App
Related Articles

xargs command in Linux with examples

Improve Article
Save Article
Like Article

xargs is a Unix command which can be used to build and execute commands from standard input.


Some commands like grep can accept input as parameters, but some commands accept arguments, this is a place where xargs came into the picture.

Syntax of `xargs` command in Linux

xargs [options] [command]

Options Available in `xargs` command in Linux




input items are terminated by null character instead of white spaces

-a file

read items from file instead of standard input

–delimiter = delim

input items are terminated by a special character

-E eof-str

set the end of file string to eof-str

-I replace-str

replace occurrences of replace-str in the initial arguments with names read from standard input

-L max-lines

use at-most max-lines non-blank input lines per command line.


prompt the user about whether to run each command line and read a line from terminal.


If the standard input does not contain any nonblanks, do not run the command


exit if the size is exceeded.


print the summary of options to xargs and exit


print the version no. of xargs and exit

Example :

xargs example

Below is the C program, which reads a text file “test.txt” and then uses the output of this program as input to touch command. contents of text file “test.txt”



// C program to read contents of file
#include <stdio.h>
// Driver Code
int main(){
    int c;
    FILE *file;
    // open file test.txt
    file = fopen("test.txt", "r");
    if (file) {
        // read file line-by-line until
        // end of file
        while ((c = getc(file)) != EOF)
    return 0;

Output :


Now, use output of ./a.out as input to touch command

xargs example with touch

Command usage with options:

xargs --version

Prints the version number of xargs command and then exit.

Output :

xargs (GNU findutils) 4.7.0-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

xargs -a test.txt

It will show contents of file


xargs -p  -a test.txt

-p option prompts for confirmation before running each command line. It only runs the command line if the response starts with ‘y’ or ‘Y’ Output :

# xargs -p  -a test.txt
echo file1 file2 file3 file4 ?...y
file1 file2 file3 file4

# xargs -p  -a test.txt                                                                                                                 
echo file1 file2 file3 file4 ?...n

 xargs -r -a test.txt

Now, let’s suppose the file “test.txt” is empty, and above command is executed, -r option ensures if standard input is empty, then command is not executed, so above command will not produce any output, But, if above command is executed without -r option, it will produce a blank line as output. See below image as instance :

xargs with -r option

Last Updated : 31 Jul, 2023
Like Article
Save Article
Similar Reads