基本上,我有这个脚本可以在越狱设备(iOS)上更新wifi固件。我需要检查一下这个输出:
/usr/libexec/wifiFirmwareLoader -f
这将输出文件路径到其余脚本所需的正确文件,但我不想要整个路径,我只想要路径末尾的文件名。我怎么能解析这个?
如果你需要一个例子,这就是输出的样子。
RESOLVED /usr/share/firmware/wifi/C748383-A3/hans.trx
我只想将hans.trx
存储在变量中。
答案 0 :(得分:0)
您可以在grep:
中使用正则表达式echo "RESOLVED /usr/share/firmware/wifi/C748383-A3/hans.trx" | grep -Eo "[^/]+$"
(?=something)
或正向后看something\K
来使正则表达式更严格(需要-P)。或者在某些情况下我喜欢双重grep(首先grep包含某些东西,然后从你想要的行中获取部分)您的最终脚本可能如下所示:
OUTPUT=$(/usr/libexec/wifiFirmwareLoader -f)
FILENAMES=$(echo "${OUTPUT}" | grep -Eo "[^/]+$")
echo "${FILENAMES}"