我在 250 长度(固定)的记录中有大约 40 个字符的数据。但我想用空格附加剩余的 250-40=210 个字符。我们在 UNIX 脚本中该怎么做?
答案1
使用awk
:
awk '{ printf "%-250s\n", $0 }' infile >outfile
%-250s
此处使用的格式化字符串printf
将参数$0
(当前行)格式化为长度为 250 个字符的字符串。在这 250 个字符内,原始行将左对齐,输入行未占用的位将用空格填充以填充 250 个位置。
如果输入行的长度超过 250 个字符,则该输入行将在输出中不经修改地再现。要截掉 250 个字符的过长行,请在上面的代码中使用substr($0,1,250)
in $0
。