xargs is a great command that can help us to run commands from the output of another command.
From tldr xargs:
Execute a command with piped arguments coming from another command, a file, etc. The input is treated
as a single block of text and split into separate pieces on spaces, tabs, newlines and end-of-file.
For the examples we’re going to use the seq command:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| # Print 3 numbers
seq 3
# 1
# 2
# 3
# xorgs wil print the numbers "inline"
seq 3 | xargs
# 1 2 3
# -n will use a max number of arguments per command line
seq 3 | xargs -n 2
# 1 2
# 3
# -I is used to replace {} with the argument from the previous command
seq 3 | xargs -I {} echo 'number {} printed'
# number 1 printed
# number 2 printed
# number 3 printed
# Create 1, 2, 3 folders
seq 3 | xargs mkdir
# Remove 1, 2, 3 folders
seq 3 | xargs rm -rf
|