这是输出:
3,aac-lc, 93.8, aaclc, 77.3, h.264, 1024.6, h.264, 1029.1, 31, 31, 0,0,0.000000,31,31,0,0,0.000000,7,0,0,0.000000,30,1280 720,10,0,0,0.000000,30,1280 720
Run Code Online (Sandbox Code Playgroud)
我尝试了 2 个场景:
存储在数组中
@arr=split(',',$stats);
echo "statistics: $stats"
Run Code Online (Sandbox Code Playgroud)存储在变量中
echo $stats | cut -d ',' -f | read s1
echo $s1
Run Code Online (Sandbox Code Playgroud)但是这两种情况都不起作用。
我对程序的输出有问题。我需要在 bash 中启动一个命令并获取其输出(一个字符串)并将其拆分以在某些地方添加新行。字符串如下所示:
battery.charge: 90 battery.charge.low: 30 battery.runtime: 3690 battery.voltage: 230.0 device.mfr: MGE UPS SYSTEMS device.model: Pulsar Evolution 500
Run Code Online (Sandbox Code Playgroud)
基本上它是一个xxx.yy.zz:值,但该值可能包含空格。这是我想得到的输出
battery.charge: 90
battery.charge.low: 30
battery.runtime: 3690
battery.voltage: 230.0
device.mfr: MGE UPS SYSTEMS
device.model: Pulsar Evolution 500
Run Code Online (Sandbox Code Playgroud)
我有一个想法来搜索第一个点,然后从那个位置往回看空间以在那里放置一个新行,但我不确定如何在 Bash 中实现它。