我有 awk 的一些输出和一些其他命令,我需要将其放入不属于标准 unix 库的最终命令中,因此将其放入 awk 命令本身是行不通的。
我现在的命令如下并给出以下输出
root@amc-d24a4-rf4:~# for x in {0..19};做 showbbchan $x | grep 60.2;完成 | 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
谢谢!!
最佳答案
当您已经使用 awk
时,您不需要 grep
也不需要 sed
;此外,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
正则表达式中想要一个“文字点”而不是“任何字符”
关于bash - 在非标准命令中使用 awk 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75837120/