使每行文件字符长500

时间:2014-04-11 15:18:35

标签: bash unix sed awk

我们需要更改文件,以便每行正好是500个字符。这意味着我应该计算当前行长度并以某种方式添加空字节或espaces?每行恰好是500字节。 文件通常有3行,因此文件的总大小应该在1500字节左右。

当我在测试文件中使用awk计算行数时,我得到了几个变量行长度:

awk '{ print length() }' BadFIle.txt
28
250
38

我应该这样做:

awk '{ print length() }' GoodFIle.txt
500
500
500

我的问题显然是如何将余数字符添加到每一行,以便大小正好是500字节/字符?

谢谢

马里奥。

1 个答案:

答案 0 :(得分:2)

您可以使用awk填充空格:

awk -v n=500 '{ printf "%-*.*s\n", n, n, $0 }' file

或者其他:

awk -v n=500 '{ printf "%-" n "." n "s\n", $0 }' file

这两个命令都将执行以下操作:

  1. 如果超过500且
  2. ,则将您的行截断为500
  3. 右手上有空格的垫子是线宽小于500
相关问题