在 UNIX 脚本中将空格附加到固定长度记录的其余部分

在 UNIX 脚本中将空格附加到固定长度记录的其余部分

我在 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

相关内容