xuxi3201 发表于 2022-3-22 15:19:21

log输出怎么自动加空格

本帖最后由 xuxi3201 于 2022-3-22 15:37 编辑

#
{
:local aaa;:local bbb;:local ccc;:local ddd;
:local fff;:local ggg;:local ccc;:local hhh;
:foreach i in= do=\
{
:set $aaa ;
:set $bbb ;
:set $fff ;
:set $ccc [:pick $bbb 0 [:find $bbb "/"]];
:set $ddd[:pick $bbb ([:find $bbb "/"] +1) [:len $bbb]];
:set $ccc ($ccc / 1073741824);
:set $ddd ($ddd / 1073741824);
:local eee ($ccc . "/" . $ddd)
#
:if ($fff !="") do=\
{
:set $aaa [:pick $aaa 0 [:find $aaa "/"]]
:set $ggg [:pick $fff 0 [:find $fff "/"]];
:set $hhh[:pick $fff ([:find $fff "/"] +1) [:len $fff]];
:put ("   comment $fff = $ggg$hhh") ; :put ("   eee : $eee") ;
:if (($ccc-$ggg >0) || ($ddd-$hhh >1)) do=\
   {:local iii ($ccc-$ggg);:local jjj ($ddd-$hhh);
    :log info ("   queue   $aaa   upload : $ccc $ggg   download : $ddd $hhh   $iii   $jjj")
    :delay 200ms;
    /queue simple set $i comment=$eee;
   };
} else=\
{
:if (($ccc >5) || ($ddd >5)) do={/queue simple set $i comment=$eee;}
}
}
}
# queue simple
现在使用正常,
就是log里,
有些是1位数,有些2位数 有些3位数,
.
请问:
怎么在一位数前面加3个空格,两位数前面加2个空格,,三位数前面加1个空格,


cspm333 发表于 2022-3-22 17:53:44

可以先截圖讓我們看您script目前輸出是長什模樣嗎?
這樣會空白要怎麼加,心裡會比較有個底。

47771885 发表于 2022-3-23 08:59:30

那就要自己计算判断
不行就试试用tab 吧

xuxi3201 发表于 2022-3-23 11:00:12



第一行 log输出6和5,
对应语句
:log info ("   queue   $aaa   upload : $ccc $ggg   download : $ddd $hhh   $iii   $jjj")的upload : $ccc $ggg
昨天希望输出 空格6空格5
今天看了一下,
将就着用吧

47771885 发表于 2022-3-23 11:11:26

本帖最后由 47771885 于 2022-3-23 11:18 编辑

#方法一字符位数判断
{
:foreach a in={1;22;333} do={
:if ([:len $a] < 2) do={
:set a ("0".$a)
}
:if ([:len $a] < 3) do={
:set a ("0".$a)
}
:put $a
}
}

#方法二数值大小判断
{
:local aaa
:foreach a in={1;22;333} do={
:set aaa $a
:if ($a < 10) do={
:set aaa ("0".$aaa)
}
:if ($a < 100) do={
:set aaa ("0".$aaa)
}
:put $aaa
}
}
方法二
这样也可以就是可能出现意外
#方法二数值大小判断
{
:foreach a in={1;22;333} do={
:if ($a < 10) do={
:set a ("0".$a)
}
:if ($a < 100) do={
:set a ("0".$a)
}
:put $a
}
}




cspm333 发表于 2022-3-23 12:06:28

本帖最后由 cspm333 于 2022-3-23 12:12 编辑

0-9輸出是1個字元,10-99是2個字元,100-999是3個字元。
把下面的script加到 :log info ("   queue   $aaa   upload : $ccc $ggg   download : $ddd $hhh   $iii   $jjj")之前:
:foreach v,i in={$ccc;$ggg;$ddd;$hhh} do={
:if ([:len $i]=1) do={:set i "$i"}
:if ([:len $i]=2) do={:set i " $i"}
:if ($v=0) do={:set ccc $i}
:if ($v=1) do={:set ggg $i}
:if ($v=2) do={:set ddd $i}
:if ($v=3) do={:set hhh $i}
}
這樣$ccc,$ggg,$ddd,$hhh輸出便會皆是3個字元


xuxi3201 发表于 2022-3-26 22:03:35

感谢你们的回复
页: [1]
查看完整版本: log输出怎么自动加空格