bash - 在非标准命令中使用 awk 输出

标签 bash awk output pipe

我有 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/

相关文章:

使用 MagickWand C API 自定义浮雕

linux - 如何使用AWK从文件中连续输出行

powershell - 如何将输出输出到变量

java - 如何从android数据库sqlite读取数据?

bash - 从文件中提取数据

javascript - js - 为每个选择显示不同行文本的函数

bash - 管道尾部输出到列

bash - 忽略变量内的引号

python - os.getenv 和 os.environ 看不到我的 bash shell 的环境变量

arrays - Bash:循环遍历字符串数组后无法读出带空格的字符串