如何对齐最后一个字段的输出

耶尔

bash脚本

for i in $script_name
do
  echo -en "running the script - $i\t - "
  exec 3>&1 4>&2
  var=$( { time /tmp/scripts/$i 1>&3 2>&4; } 2>&1)  # Captures time only
  exec 3>&- 4>&-

  echo "$var"
done

打印以下内容:

running the script - Verify_disk.bash -       1.42
running the script - Verify_yum_list.bash - 10.49
running the script - Verify_size.bash -   2.93
running the script - Verify_mem_size.bash -       0.71
running the script - Verify_disk_size.bash -      2.41
running the script - Verify_wdisk.bash -        1.63
running the script - Verify_cpu.bash - 0.74

因为$ var是打印所有这些输出的变量,所以我们要对齐输出

所以会是这样

running the script - Verify_disk.bash        -   1.42
running the script - Verify_yum_list.bash    -   10.49
running the script - Verify_size.bash        -   2.93
running the script - Verify_mem_size.bash    -   0.71
running the script - Verify_disk_size.bash   -   2.41
running the script - Verify_wdisk.bash       -   1.63
running the script - Verify_cpu.bash         -   0.74

为了对齐最后一个字段,$ var应该进行哪些其他更改?

杰夫·谢勒(Jeff Schaller)

进行预循环以计算最长的文件名,然后将其用作间距参数:

longest=0
for file in *.bash
do
  [ "${#file}" -gt "$longest" ] && longest=${#file}
done

# ... for your execution loop
printf "running the script - %${longest}s\t- "
printf "%s\n" "$var"

我认为通配符涵盖了您的所有脚本*.bash根据需要进行调整。初始循环计算所需的宽度;最初printf使用该变量为for循环的每次迭代设置脚本字段的宽度格式

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将命令的输出与另一个的最后一个字段合并

我如何对齐列并反转混乱的生物学表格中的最后一个字段

POST中的最后一个字段丢失

使用awk获取最后一个字段

如何从C中的输出中删除最后一个字符

如何使用“剪切”查找最后一个字段

如何提取只有数字的最后一个字段列三

如何在shell中分割字符串并获取最后一个字段

如何使用CSS删除输入字段的最后一个字母的字母间距?

如何使用最后一个字段作为变量从bash调用awk

如何从字符串中提取或测试最后一个字段?

在删除awk中的最后一个字段时,如何保留前导空格?

Laravel:如何从其他表格中获取最后一个字段?

基于一个字段的输出的MongoDB计数

如何使用sed或awk提取和修改正常运行时间命令输出的最后一个字段

如何在输出中仅从Elasticsearch获得一个字段?

如何从`ls -l`的输出中选择一个字段/列?

如何读取“ apt search”返回的输出的第一个字段?

如何替换最后一个字符?

如何删除最后一个字符

PHP构造函数在一个字段中分配最后一个值

在输入字段的最后一个字母之后显示一个特定的符号

如何计算第一个字段

如何使用一个字段进行mongoexport

如何处理一个字段

如何用 as 返回一个字段

AWK:如何在有数字的行上减去最后一个字段

如何使用 Pandas 读取最后一个字段中存在分隔符的 CSV 文件?

如何使用 awk(或 cut)从管道分隔文件中打印每行的最后一个字段?