获取xargs命令的序列号

Hat*_*hie 2 bash xargs

echo a b c | xargs -n 1将输出:

a
b
c
Run Code Online (Sandbox Code Playgroud)

有没有办法获得序列号的输出,如下所示:

a1
b2
c3
Run Code Online (Sandbox Code Playgroud)

谢谢你!

哈吉

emi*_*mix 5

使用awk及其特殊NR占位符:

echo a b c | xargs -n 1 | awk '{print $1NR}'
Run Code Online (Sandbox Code Playgroud)

结果:

a1
b2
c3
Run Code Online (Sandbox Code Playgroud)

您可以再次通过管道传输这些结果。请注意,我们设置了一个名为%(using -I %) 的占位符,我们可以重用它。例如:

echo a b c | xargs -n 1 | awk '{print $1NR".zip"}' | xargs -I % git archive -o % HEAD
Run Code Online (Sandbox Code Playgroud)