변수에 저장된 텍스트를 검색하는 방법은 무엇입니까?

변수에 저장된 텍스트를 검색하는 방법은 무엇입니까?
#!/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파일 이름으로 허용 $key하지만 변수에 저장된 텍스트를 검색하고 싶습니다 $text.

답변1

<<<herestring을 사용하여 grep에 문자열을 전달할 수 있습니다 .

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

echo "$key" | grep이는 추가 프로세스를 만드는 것보다 더 효율적입니다.

방지하려면 변수를 큰따옴표로 묶어야 합니다.분사그리고 와일드카드. 바라보다이것게다가.

관련 정보