我正在尝试使用printf和seq打印以下模式:
0000
0001
0002
0003
我的问题是我曾经使用过:
seq 0 10 | xargs printf %04d
我的所有输出都被格式化为相同的行likeo:
0000000100020003
我仍然无法使用xargs。在这种情况下如何正确使用它?
答案 0 :(得分:21)
如果您不要求,printf
命令不会输出换行符。尝试:
seq 0 10 | xargs printf '%04d\n'
请注意,您只需seq
即可实现相同功能,因为它允许指定printf样式格式:
seq -f %04g 0 10
答案 1 :(得分:12)
您不需要printf
或xargs
。 seq
有-f
选项:
kent$ seq -f '%04G' 10
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
答案 2 :(得分:0)
seq 0 10 | xargs printf "%04d\n"
原始问题在printf
末尾缺少换行符。只需添加换行符就可以解决问题。