Skip to content
Related Articles

Related Articles

xargs command in Linux with examples
  • Difficulty Level : Medium
  • Last Updated : 24 May, 2019
xargs is a Unix command which can be used to build and execute commands from standard input.

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

Syntax :

xargs [options] [command]

xargs options :
-0 : 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.
-p : prompt the user about whether to run each command line and read a line from terminal.
-r : If the standard input does not contain any nonblanks, do not run the command
-x : exit if the size is exceeded.
–help : print the summary of options to xargs and exit
–version : print the version no. of xargs and exit

Example :

xargs example

Example :
Below is the C program, which reads a text file “test.txt” and then use 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

Mandeep Singh

References :
1) xargs wikipedia
2) need of xargs
3) xargs man page

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :