【问题标题】:Shell Script - How to create variables with specific length?Shell 脚本 - 如何创建具有特定长度的变量?
【发布时间】:2013-11-18 21:17:33
【问题描述】:

我是 shell 脚本的新手,我需要这方面的帮助。

如何创建由变量字符串分隔的输出文件?我的意思是,每个变量都有一个特定的长度,例如:

variable1 (char 10)
variable2 (char 5)
variable3 (char 4)
variable4 (char 7)
variable5 (char 20)
variable6 (char 2)
...

输出文件会是这样的(每个数字都与各自变量的内容有关):

11111     22222333344444445555555             66

下一个变量的内容从文件中的下一个位置开始,即variable2从第11个位置开始,因为variable1在第10个位置结束。并且变量中的剩余空间将被空格填充。

【问题讨论】:

  • 你需要一个 while 循环来检查 [ ${#VAR} -le 10 ] 并用任何填充填充直到它为真
  • @technosaurus 好吧,这是一种方法......

标签: shell variable-length-array


【解决方案1】:

使用printf 打印字符串:

$ printf "%-10.10s%-5.5s%-4.4s%-7.7s%-20.20s%-2.2s\n" 11111 22222 3333 4444444 5555555 66
11111     22222333344444445555555             66

例如,%-10.10s 表示对应的参数应该在正好 10 个字符宽的字段中左对齐 (-)。

【讨论】:

    猜你喜欢
    • 2012-05-26
    • 2014-05-07
    • 2013-08-27
    • 2012-05-05
    • 2019-04-07
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    相关资源
    最近更新 更多