在行尾用 n 个空格填充文件

Padding a files with n number of spaces at the end of the line

我有一个格式如下所示的文件。我想在行尾用空格填充它。

File1.txt

Steve Smith
Thomas Muller
Tim Cook
Bill Gates

我使用了下面的命令,但它没有给我想要的输出,它被拆分为

Steve 
Smith 

然后给出输出。

while read line; do printf "%-20s\n" $line; done < file1.txt

上述文件的期望输出是 below.s 是为填充每一行而添加的空格。

Steve Smithssssssssssssssssssssssssssss
Thomas Mullerssssssssssssssssssssssssss
Tim Cooksssssssssssssssssssssssssssssss
Bill Gatessssssssssssssssssssssssssssss

引用变量 line 最好使用 read -r:

while read -r line; do printf "%-20s\n" "$line"; done < file1.txt

测试:

while read -r line; do printf "%-20s\n" "$line"; done < file1.txt | cat -vte
Steve Smith         $
Thomas Muller       $
Tim Cook            $
Bill Gates          $