Я только в этом ответе только потому, что он короче и проще, чем любой другой.
sed -re "s~(^|_)(.)~\U\2~g"
Он говорит: Upcase, характер после _
или начало. Не писем не будет изменен, так как у них нет случая.
Я не знаю, достаточно ли этого для ответа, но
grep -w "/opt/gnome"
удовлетворит вашу потребность.
echo '/sbin:/usr/sbin:/opt/gnome:/var/opt/gnome' | grep -w "/opt/gnome" -o
/opt/gnome
echo '/opt/gnome:/sbin:/usr/sbin:/var/opt/gnome' | grep -w "/opt/gnome" -o
/opt/gnome
, но
echo '/opt/gnome:/sbin:/usr/sbin:/var/opt/gnome' | grep "/opt/gnome" -o
/opt/gnome
/opt/gnome
-121--42399- Можно также использовать
эхо «$ PATH» | tr ': '\n' | grep -x «/opt/gnome »
, которое разделяет переменную path на отдельные строки (по одной на каждый путь), так что grep-x
может
Это, конечно, имеет недостаток, заключающийся в необходимости дополнительного процесса для tr
. И она не будет работать, если имя папки в PATH
содержит символы новой строки.
Символ &
является специальным синтаксисом в оболочке, поэтому написанное запускает команду завитков
в фоновом режиме и запускает команду page = i
на переднем плане. Вы должны поместить его в цитаты.
Чтобы обратиться к значению переменной, поставьте перед ней $
. Подстановка переменной выглядит так: $ i
- и она должна быть внутри двойных кавычек, а не внутри одиночных. Можно также оставить замены переменных без кавычек, но это еще больше расширяет значение переменной , поэтому не делайте этого, пока не поймете, когда это безопасно - используйте только $ i
внутри двойных кавычек.
for ((i=1; i<=100; i++)); do
curl -O "https://api.mysite.com/info?access_token=xyx&page=$i"
done