Как я могу удалить несколько символов в моем скрипте bash? - PullRequest
0 голосов
/ 16 октября 2019

Я хочу создать bash-скрипт для Linux, который будет сообщать мне только мой ip-адрес, маску сети и трансляцию. Сейчас он показывает больше, чем это, поэтому я хотел бы удалить определенное количество символов из моей переменной.

Пример:

Что у меня есть

ip=Hello world!

Что я хочу

ip=Hello

Так, как я могу удалить определенное количество символов из задней части переменной?

Я пробовал несколько вещей, которые я нашел в Интернете, но не смог получить егоработает так, как я хочу.

Ответы [ 3 ]

0 голосов
/ 16 октября 2019

Вы можете передать через grep и вывести только соответствующую часть

echo "ip=hello world" | grep -o "ip=\w*"

Вывод: ip=hello

0 голосов
/ 16 октября 2019

Еще один момент - вы можете использовать команду sed.

Например,

$ my_var="Hello world"
$ my_var=$(echo $my_var | sed -e 's/ .*//')
$ echo $my_var
Hello

или другой подход, использующий вырезание

$ my_var="Hello world"
$ my_var=$(echo $my_var | cut -d ' ' -f1)
$ echo $my_var
Hello

Важно - не вводите символ ! в двойных кавычках

0 голосов
/ 16 октября 2019

с извлечением подстроки bash:

$ my_var="Hello world!"
$ my_var=${my_var:0:-6}
$ echo $my_var
Hello
...