如何根据输出过滤数据和执行命令

发布于 2025-02-08 07:00:39 字数 260 浏览 2 评论 0原文

我正在使用以下Shell脚本进行CERTAIL数据

测试。SH

adb shell dumpsys battery | awk '/Battery current/{print}'

我在终端中的输出下方

Battery current : -286

如何检查电池电流值是否为gt> -1000然后执行命令“命令1” 否则执行“命令2”,

请帮助

I am using below shell script for getting certail data

test.sh

adb shell dumpsys battery | awk '/Battery current/{print}'

I get below output in terminal

Battery current : -286

How to check if Battery current value is > -1000 then execute an command "Command1"
else execute "Command 2"

Please help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

っ〆星空下的拥抱 2025-02-15 07:00:39

只需使用awk提取所需的字段:

adb shell dumpsys battery | awk -F: '/Battery current/{print $2}'

如果要将该值放在变量中:

battery_current="$(adb shell dumpsys battery | awk -F: '/Battery current/{print $2}')"

现在您可以在语句中使用中使用它:

if [ "$battery_current" -gt -1000 ]; then
  ...do something...
else
  ...do something else...
fi

Just use awk to extract the field you want:

adb shell dumpsys battery | awk -F: '/Battery current/{print $2}'

If you want to put that value in a variable:

battery_current="$(adb shell dumpsys battery | awk -F: '/Battery current/{print $2}')"

And now you can use that in an if statement:

if [ "$battery_current" -gt -1000 ]; then
  ...do something...
else
  ...do something else...
fi
空城仅有旧梦在 2025-02-15 07:00:39

使用awk,您可以使用System函数,该功能执行CMD并返回其退出状态

$ adb shell dumpsys battery | awk '/Battery current/ {current=$NF}{if (current > -1000) system("command.."); else system("comand..")}'

Using awk, you can use the system function which executes cmd and returns its exit status

$ adb shell dumpsys battery | awk '/Battery current/ {current=$NF}{if (current > -1000) system("command.."); else system("comand..")}'
吃素的狼 2025-02-15 07:00:39

通用模板就是这样:

jot 5 | {m,g}awk '{ system( (+$_)%3 ? "date" : "gdate +\47%s.%6N\47") }'

Fri Jun 17 09:19:18 EDT 2022
Fri Jun 17 09:19:18 EDT 2022
1655471958.225290
Fri Jun 17 09:19:18 EDT 2022
Fri Jun 17 09:19:18 EDT 2022

您的具体情况就像:

adb shell dumpsys battery | 

{m,g}awk '!_<NF { system(-1E3<+$NF ? _cmd1_ :_cmd_2_) }' FS='^ *Battery current[: ]+'

The generic template would be like this :

jot 5 | {m,g}awk '{ system( (+$_)%3 ? "date" : "gdate +\47%s.%6N\47") }'

Fri Jun 17 09:19:18 EDT 2022
Fri Jun 17 09:19:18 EDT 2022
1655471958.225290
Fri Jun 17 09:19:18 EDT 2022
Fri Jun 17 09:19:18 EDT 2022

Your specific case would be like :

adb shell dumpsys battery | 

{m,g}awk '!_<NF { system(-1E3<+$NF ? _cmd1_ :_cmd_2_) }' FS='^ *Battery current[: ]+'
糖果控 2025-02-15 07:00:39
[[ "$(adb shell dumpsys battery|awk -F: '/Battery current/{print $2}')" -lt -1000 ]]  && 
commnad1 || 
command2
[[ "$(adb shell dumpsys battery|awk -F: '/Battery current/{print $2}')" -lt -1000 ]]  && 
commnad1 || 
command2
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文