如何从终端输出中捕获特定行?

如何从终端输出中捕获特定行?

所以我使用ip route命令它显示如下输出

 default via 192.168.43.162 dev wlp8s0 proto dhcp metric 600 
169.254.0.0/16 dev wlp8s0 scope link metric 1000 
192.168.43.0/24 dev wlp8s0 proto kernel scope link src 192.168.43.230 metric 600 

如何在自动 sh 脚本中使用它以便它在终端中运行此命令?

adb connect addressgateway:5555

例如,其中地址网关为 192.168.43.162 捕获自ip route

答案1

  1. 要将第一个命令的输出传送到另一个命令,可以使用管道 |。
  2. 要剪切输出中的特定行,您可以使用cut命令。
  3. 在这个具体的例子里你可以使用以下命令:
    • ip route | head -1 | cut -c12-24
    • 输出将是 ip。
  4. 要在脚本中使用它,您可以使用:
    • #!/bin/bash
    • ip route | head -1 | cut -c12-24 > output.txt
    • variable=$(cat output.txt)
    • adb connect $variable:5555
  5. 要更具体地使用命令以及其他情况,您可以查找:
    • man cut
  6. 评论:
    • 管道|获取第一个命令的输出并将其用于下一个命令。
    • cut命令有助于过滤您需要的输出。
    • man它就像命令上的指南页面。
    • variable它是一个要使用的临时变量名,您可以使用任何您想要的名称。
    • $variable正在执行已保存在“昵称”名称下的别名。

希望这能帮助你。

相关内容