我有一些来自 awk 的输出和一些其他命令,我需要将其放入不属于标准 unix 库的最终命令中,因此将其放入 awk 命令本身是行不通的。
我现在的命令在下面,并提供以下输出
root@amc-d24a4-rf4:~# for x in {0..19}; do showbbchan $x | grep 60.2; done | sed 's/://g' | awk '{print $2, $3, $4, '-16.6'}'
11 TX3 -8100000 -16.6
12 TX1 12700000 -16.6
13 TX1 -3800000 -16.6
15 TX3 1500000 -16.6
16 TX3 -3300000 -16.6
17 TX1 17500000 -16.6
18 TX1 1000000 -16.6
19 TX3 6300000 -16.6
我需要将该输出放入 cfgbbchan(非标准命令)命令中,因此它看起来像
cfgbbchan 11 TX3 -8100000 -16.6
然后
cfgbbchan 12 TX1 12700000 -16.6
等
我试过使用 xargs 但无法弄清楚。感觉好像我很接近,但无法弄清楚最后一步。
基本上我需要从 showbbchan 获取某些输出并将它们放入 cfgbbchan。
showbbchan 输出示例
root@amc-d24a4-rf4:~# showbbchan 1
BB_Chan 1: RX0 -17700000 Hz 0.0 dB Selected:1 Enabled:1
BB_Chan 1: TX3 -17700000 Hz -16.6 dB Selected:1 Enabled:1
谢谢!!
当你使用
grep
时,你不需要sed
也不需要awk
,xargs
可以做你想要的:
for x in {0..19}
do
showbbchan "$x"
done |
awk '
/60\.2/ {
gsub(/:/,"")
print $2, $3, $4, "-16.6"
}
' |
xargs -L 1 cfgbbchan
注意:我猜(也许是错误的)你想要一个“文字点”而不是
60.2
正则表达式中的“任何字符”