xargs中的-L和-n有什么区别

what is the difference between -L and -n in xargs

根据 xargs --help:

-L, --max-lines=MAX-LINES use at most MAX-LINES non-blank input lines per command line

-n, --max-args=MAX-ARGS use at most MAX-ARGS arguments per command line

非常混乱。 -L 和 -n 之间有什么区别吗?

ls *.h | xargs -L 1 echo 
ls *.h | xargs -n 1 echo 

-n 在任何空格上拆分,-L 在换行符上拆分。 示例:

$ echo {1..10}
1 2 3 4 5 6 7 8 9 10
$ echo {1..10} | xargs -n 1
1
2
3
4
5
6
7
8
9
10
$ echo {1..10} | xargs -L 1
1 2 3 4 5 6 7 8 9 10
$ seq 10
1
2
3
4
5
6
7
8
9
10
$ seq 10 | xargs -n 1
1
2
3
4
5
6
7
8
9
10
$ seq 10 | xargs -L 1
1
2
3
4
5
6
7
8
9
10