如何使用带换行符的大括号扩展
How to use brace expansion with newline
我试过这个方法,但它在新行的开头显示了不需要的 space:
$ echo -e {1..5}"\n"
1
2
3
4
5
大括号扩展创建一个 space 分隔的 字符串列表。在您的示例中,这意味着您得到 1\n 2\n 3\n 4\n 5\n
,这解释了每个换行符后的 space。
要更好地控制输出格式,您可以使用循环:
for i in {1..5}; do echo $i; done
如果只是想输出一列数字,seq
是专用工具-
$ seq 1 5
1
2
3
4
5
尽可能接近您的原始问题,您可以通过管道转到 sed。这只是摆脱了那些 'unwanted spaces'.
echo -e {1..5}'\n' | sed 's/ //g'
本例中 sed 的一般语法:sed 's/REGEXP/REPLACEMENT/FLAGS'
其中 's' = 替换和'/' = 定界符
只需在左大括号前放一个退格键,如下所示:
echo - e \b{1..5}\n
您可以将输出通过管道传输到 tr
以简单地将空格转换为换行符:
$ echo {1..5} | tr ' ' '\n'
1
2
3
4
5
我试过这个方法,但它在新行的开头显示了不需要的 space:
$ echo -e {1..5}"\n"
1
2
3
4
5
大括号扩展创建一个 space 分隔的 字符串列表。在您的示例中,这意味着您得到 1\n 2\n 3\n 4\n 5\n
,这解释了每个换行符后的 space。
要更好地控制输出格式,您可以使用循环:
for i in {1..5}; do echo $i; done
如果只是想输出一列数字,seq
是专用工具-
$ seq 1 5
1
2
3
4
5
尽可能接近您的原始问题,您可以通过管道转到 sed。这只是摆脱了那些 'unwanted spaces'.
echo -e {1..5}'\n' | sed 's/ //g'
本例中 sed 的一般语法:sed 's/REGEXP/REPLACEMENT/FLAGS'
其中 's' = 替换和'/' = 定界符
只需在左大括号前放一个退格键,如下所示:
echo - e \b{1..5}\n
您可以将输出通过管道传输到 tr
以简单地将空格转换为换行符:
$ echo {1..5} | tr ' ' '\n'
1
2
3
4
5