为了便于说明,我需要在两列中打印以下序列
a-z
它具有从 a 到 z 的字母,因此它们位于 13 个字符的列中。
如何将 a 到 z 的字符回显到两列?
非常好的斯蒂芬,
如何避免用循环输入a到z呢?
for i in {a..z}; do echo -n $i; done | sed -e 's/\(.\)\(.\)/\1 \2\n/g'
我敢肯定,存在更好的解决方案,但我会试一试:
$ echo "abcdefghijklmnopqrstuvwxyz" | sed -e 's/\(.\)\(.\)/\1 \2\n/g'
a b
c d
e f
g h
i j
k l
m n
o p
q r
s t
u v
w x
y z
您的问题没有指定如何在两列中分配字符,所以这里有一个替代答案:
prompt> paste <(echo "abcdefghijklm" | sed 's/\(.\)/\1\n/g' ) <(echo "nopqrstuvwxyz" | sed 's/\(.\)/\1\n/g')
a n
b o
c p
d q
e r
f s
g t
h u
i v
j w
k x
l y
m z
prompt>