繁体   English   中英

使用 Shell 脚本在输出文本文件中打印时分配具有 100 个字符空间的列

[英]Assigning a column with 100 char spaces while printing it in output text file using Shell Scripting

我只想从 csv 文件中获取行并逐行打印。 事情是下面的代码获取第 4 列并打印它。 我想要做的是,我只想为该列打印提供 100 个字符空间。 如果该列有 10 个字符,我只想打印该列,其余 90 个字符的空格应该在该行中为空。

cat filename | awk -F"," '{print $4}'

AWK 有支持格式的printf()函数。 使用格式 "%100s" 和 "%-100s" 你可以用左边或右边的空格填充打印的字符串:

 $ echo "a\nb\nc\nd" | awk '{ printf("|%10s|\n", $1);}'                                  
 |         a|
 |         b|
 |         c|
 |         d|
 $ echo "a\nb\nc\nd" | awk '{ printf("|%-10s|\n", $1);}'                                    
 |a         |
 |b         |
 |c         |
 |d         |
 $

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM