【问题标题】:Assigning a column with 100 char spaces while printing it in output text file using Shell Scripting使用 Shell 脚本在输出文本文件中打印时分配具有 100 个字符空格的列
【发布时间】:2019-11-28 05:37:31
【问题描述】:

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

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

【问题讨论】:

标签: linux shell unix scripting


【解决方案1】:

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         |
 $

【讨论】:

  • 感谢详细的输出和解释。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
相关资源
最近更新 更多