一道shell题及两个经典的答案

题如下:

str=” 1 2 3 4 5 6 7 8 9 “

打印成如下格式:

1 2 3
4 5 6
7 8 9

 

答案:(zooyo大牛写的)

sed版

$ echo $str

1 2 3 4 5 6 7 8 9

$ sed ‘s/.{6}/&\n/g’ <<<$str

1 2 3

4 5 6

7 8 9

awk版

$ echo $str

1 2 3 4 5 6 7 8 9

$ awk -v RS=” “ ‘ORS=NR%3?” “:”\n”‘ <<<$str

1 2 3

4 5 6

7 8 9