开发者社区> 问答> 正文

使用Shell Scripting在输出文本文件中打印时为该列分配100个字符空间

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

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

展开
收起
祖安文状元 2020-01-16 17:39:45 422 0
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         |
     $
    
    2020-01-16 17:39:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载