Piszę skrypt basha i muszę sprawdzić, czy nazwa pliku ma numer na końcu (po kropce), a jeśli tak, to go zdobyć, ale nie mogę zrozumieć, jak używać wyrażenia regularnego na zmiennej lub łańcuchu.
Byłem w stanie użyć echo w terminalu do potoku łańcucha na grep, w ten sposób:
echo "filename.txt.123" | egrep -o "\.[0-9]+$" | egrep -o "[0-9]+"
Ale muszę przypisać wyjście tego do zmiennej. Próbowałem to zrobić:
revNumber= echo "filename.txt.123" | egrep -o "\.[0-9]+$" | egrep -o "[0-9]+"
Ale to nie działa. Spróbowałem też kilku innych rzeczy, ale nic nie było ważne.
W moim skrypcie bash chcę używać grep na zmiennej, a nie na łańcuchu, ale koncepcja tutaj jest taka sama.
Jak mogę użyć grep na łańcuchu lub zmiennej, a następnie zapisać wynik w innej zmiennej?
r=`echo abc`echo $ r