繁体   English   中英

printf + bash脚本

[英]printf + bash script

我有以下文件(典型的file.txt示例)

remark - 参数长度不同

     param1=353
     param2=726
     param3=75.32
     param4=21.03
     number100=234
     arg1=100
     the_last_number=true
     x=55
     .
     .
     .

如何将file.txt转换为以下格式:(通过printf或其他可以作为我的bash脚本一部分的解决方案)

   1  param1.....................353
   2  param2.....................726
   3  param3.....................75.32
   4  param4.....................21.03
   5  number100..................234
   6  agr1.......................100
   7  the_last_number............true
   8  x..........................55
     .
     .
     .
while read -r line
do
    printf '%s\n' "${line/=/........}"
done < inputfile

这个shoudl的工作。

SC=$(cat<<ENDDOC
if(~/(.*)=(.*)/){print "\$1"."."x(32-length(\$1))."\$2\n";}
else{print;}
ENDDOC)
perl -n -e "$SC" < file.txt

另一个:

no=0
fill='....................'                     # e.g. 20 points
while IFS='=': read left right ; do
  printf "%4d  %s%s%s\n" $((++no)) $left ${fill:${#left}} $right
done < "$infile"

输出:

   1  param1..............353
   2  param2..............726
   3  param3..............75.32
   4  param4..............21.03
   5  number100...........234
   6  arg1................100
   7  the_last_number.....true
   8  x...................55

暂无
暂无

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

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