Учитывая вектор v, нормализовать его означает сохранить его направление и сделать его единичной длиной, умножив его на хорошо выбранный коэффициент.
Это очевидно невозможно для нулевого вектора, потому что он на самом деле не имеет направления или потому что его длина не может быть изменена путем умножения его на некоторый коэффициент (он всегда будет равен нулю).
Я хотел бы предложить, чтобы любая процедура, для которой вы хотели бы использовать свой вектор, и для которой требуется нормализация этого вектора, не является четко определенной для нулевых векторов.
Вы можете использовать \
перед пробелами.
#!/bin/bash
text="This is just a test string"
if [[ "$text" =~ ^This\ is\ just ]]; then
echo "matched"
else
echo "not matched"
fi
can you make your problem description clearer?
text="This is just a test string"
case "$text" in
"This is"*) echo "match";;
esac
the above assume you want to match "This is" at exactly start of line.
I did not manage to inline the expression like this:
if [[ "$text" =~ "^ *This " ]]; then
but if you put the expression in a variable you could use normal regex syntax like this:
pat="^ *This "
if [[ $text =~ $pat ]]; then
Note that the quoting on $text
and $pat
is unnessesary.
Edit: A convinient oneliner during the development:
pat="^ *This is "; [[ " This is just a test string" =~ $pat ]]; echo $?