如何搜索存储在变量中的文本?

如何搜索存储在变量中的文本?
#!/bin/bash
num=$(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings | grep -oE '[0-9]+'|sort -rn|head -n 1)
key=$(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings)
newnum=$(grep -oE '[0-9]+' $key |sort -rn|head -n 1)
echo $newnum

grep接受$keyas 文件名,但我希望它搜索存储在变量 中的文本$text

答案1

您可以使用herestring<<<将字符串传递给grep:

newnum=$(grep -oE '[0-9]+' <<< "$key" | sort -rn | head -n 1)

echo "$key" | grep这比创建额外的流程更有效。

请记住将变量括在双引号中以防止分词和通配符。看以及。

相关内容