如何将 mkdir 与 xargs 一起使用
How to use mkdir with xargs
我是 xargs 的新手..
我想将 mkdir 与 xargs 一起使用来创建一些类似于以下内容的文件夹:
for i in {1..11};do mkdir mm$i;done
这将创建文件夹 mm1、mm2、mm2 ... mm11
我试过了:
echo {1..11}|xargs -p -n1 -I {} mkdir -p "mm{}"
然而它提示:
mkdir -p mm1 2 3 4 5 6 7 8 9 10 11 ?...
我也试过:
echo {1..11}|xargs -p -n1 mkdir -p mm
提示:
mkdir -p mm 1 ?...n
mkdir -p mm 2 ?...n
mkdir -p mm 3 ?...n
mkdir -p mm 4 ?...n
mkdir -p mm 5 ?...n
mkdir -p mm 6 ?...n
mkdir -p mm 7 ?...n
mkdir -p mm 8 ?...n
mkdir -p mm 9 ?...n
mkdir -p mm 10 ?...n
mkdir -p mm 11 ?...n
mkdir -p mm ?...n
求助..
谢谢
你的问题是你正在使用 -I
标志,这需要
参数用空行而不是空格分隔:
-I replace-str
Replace occurrences of replace-str in the initial-arguments with
names read from standard input. Also, unquoted blanks do not
terminate input items; instead the separator is the newline
character. Implies -x and -L 1.
一种解决方案是生成适当的输入:
echo {1..11} | tr ' ' '\n' | xargs ...
或者:
seq 11 | xargs ...
或者,正如@gniourf_gniourf 在评论中建议的那样,只需使用 shell
直接针对这个特殊情况展开。
我是 xargs 的新手..
我想将 mkdir 与 xargs 一起使用来创建一些类似于以下内容的文件夹:
for i in {1..11};do mkdir mm$i;done
这将创建文件夹 mm1、mm2、mm2 ... mm11
我试过了:
echo {1..11}|xargs -p -n1 -I {} mkdir -p "mm{}"
然而它提示:
mkdir -p mm1 2 3 4 5 6 7 8 9 10 11 ?...
我也试过:
echo {1..11}|xargs -p -n1 mkdir -p mm
提示:
mkdir -p mm 1 ?...n
mkdir -p mm 2 ?...n
mkdir -p mm 3 ?...n
mkdir -p mm 4 ?...n
mkdir -p mm 5 ?...n
mkdir -p mm 6 ?...n
mkdir -p mm 7 ?...n
mkdir -p mm 8 ?...n
mkdir -p mm 9 ?...n
mkdir -p mm 10 ?...n
mkdir -p mm 11 ?...n
mkdir -p mm ?...n
求助.. 谢谢
你的问题是你正在使用 -I
标志,这需要
参数用空行而不是空格分隔:
-I replace-str
Replace occurrences of replace-str in the initial-arguments with
names read from standard input. Also, unquoted blanks do not
terminate input items; instead the separator is the newline
character. Implies -x and -L 1.
一种解决方案是生成适当的输入:
echo {1..11} | tr ' ' '\n' | xargs ...
或者:
seq 11 | xargs ...
或者,正如@gniourf_gniourf 在评论中建议的那样,只需使用 shell 直接针对这个特殊情况展开。