我必须从终端中执行的以下命令中提取一些所需的数据:
emulator -avd emualtor-666
执行完之后,我在终端中得到了这样的输出,并在一秒钟之内稍稍延迟:
emulator: Listening for console connections on port: 5566
emulator: Serial number of this emulator (for ADB): emulator-5566
emulator: emulator window was out of view and was recentered
因此,我需要从第一行提取端口值:5566 ,或者从第二行提取 emulator-5566 。我该怎么办?
我绑了下面的脚本,但它只是在返回任何行时卡住了
#!/usr/bin/env bash
emuName=$1
IFS=$'\n'
for line in $(emulator -avd "$emuName");
do
echo ${line}
done
我在做什么错了?
答案 0 :(得分:2)
尝试
emulator -avd emualtor-666 | head -1 | cut -d ':' -f 3
或
emulator -avd emualtor-666 | sed -e 's/.*Listening.*://;t;d'
或
emulator -avd emualtor-666 | awk '/Listening/ {gsub(/.*:/,""); print}'