在 for 循环中每对字符串重复两次

Din*_*ngo 2 bash numbering

我需要传递给 pdftk,一个由重复两次的字符串构成的参数列表,例如:

A1-2 B1-2 A3-4 B3-4 A5-6 B5-6... 等等...

我设法通过此解决方法实现了这一目标

for ((x=1, y=2;x>=18, y<=18;x++, y++)); do echo "A$x-$y B$x-$y "; done| awk 'NR %2==1 {print $1, $2} ' | tr '\n' ' '
Run Code Online (Sandbox Code Playgroud)

这给出了:

A1-2 B1-2 A3-4 B3-4 A5-6 B5-6 A7-8 B7-8 A9-10 B9-10 A11-12 B11-12 A13-14 B13-14 A15-16 B15-16 A17- 18 B17-18

但我不满意,我正在寻找一种合适、更优雅、更好的方式来执行这项任务

man*_*ork 5

for ((x=1; x<=18; x+=2)); do echo -n "A$x-$((x+1)) B$x-$((x+1)) "; done
Run Code Online (Sandbox Code Playgroud)


rus*_*ush 5

甚至是纯 awk:

awk 'BEGIN {for (i=1; i<19; i+=2) printf "A"i"-"i+1 " B"i"-"i+1" "}'
Run Code Online (Sandbox Code Playgroud)