gpt4 book ai didi

linux - 将 bash 数据保存到 Redis

转载 作者:可可西里 更新时间:2023-11-01 10:59:11 25 4
gpt4 key购买 nike

我正在从终端运行这个命令。

adb shell top -m 5 -d 01.00 | 
grep --line-buffered 'com.android.calculator2' > '/writeTestData.txt'

它在文本文件中连续输出过程信息。
我想同时将这些数据保存到 Redis

如何做到这一点?任何帮助将不胜感激。

最佳答案

我认为以下命令可以解决您的问题。

adb shell top -m 5 -d 01.00 | grep --line-buffered 'com.android.calculator2' \
| tee writeTestData.txt | xargs -I {} redis-cli -p 6379 set key {}

如您所见,Rambo Ramon 的解决方案 ( tee ) 是关键。基本上,在这种情况下使用 tee 将输入(来自 adb 命令)发送到两个不同的输出:第一个是 .txt 文件,第二个是管道命令的输入。

xargs逐行获取 tee 的输出,并将其作为参数发送给 set redis-cli工具命令。

6379 是 Redis 的默认端口,您可以根据您的服务器运行的端口更改它。

set key {} 基本上将来自 tee 的输出通过 xargs 存储在名为“key”的键处。因此,在单个键中,它每次都会存储来自 xargs 的最新值。

如果你想把你的内容存储在同一个键上(追加),你可以使用append与 set 具有相同语法的命令。因此,您将 set 替换为 append,这是上述命令中的唯一更改。

我已经使用与您需要的命令类似的命令(提供连续输出)进行了测试,它工作正常:

测试命令:

top | grep --line-buffered Cpu | tee file.txt | xargs -I {} redis-cli -p \  
6900 set key {}

关于linux - 将 bash 数据保存到 Redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32629677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com