Size: a a a

2021 May 26

F

Fljúgandi Kettlingur... in pro.bash
убрать мусор
if echo "$ip_list" | grep -q $ip

либо чистым башем
[[ $ip_list =~ $ip ]]
источник

F

Fljúgandi Kettlingur... in pro.bash
^{2}
источник

🌚

🌚 YupiRex in pro.bash
Вот же чистый баш с if'ом
источник

Vs

Vladislav support.od... in pro.bash
спс, работает
источник

F

Fljúgandi Kettlingur... in pro.bash
Да, изящно
источник

аᶘ

асоциальный пикотран... in pro.bash
Если убрать arrid, то всё работает корректно.
источник

V

Vikentsi in pro.bash
Иногда пользовался командой rev чтобы начало стало концом
источник

F

Fljúgandi Kettlingur... in pro.bash
это очень плохое решение. Если ты знаешь, как отрезать начало, но не знаешь, как резать конец - не надо сразу рваться  переворачивать, стоит проверить, не может ли тот же инструмент резать хвост.
Здесь используется замена по регулярке, которую несложно переписать с головы на хвост, например.
источник

V

Vikentsi in pro.bash
Это  ещё одно решение. Я к тому что  иногда можно и без регулярок . Лично я вообще не понимал пользу от команды rev. А а таком контексте она вполне может пригодиться.
источник

Лс

Лень с Самосознанием... in pro.bash
echo ${ip_list} | grep $ip || echo "not found"

echo ${ip_list} | grep $ip || { echo 1;
echo 2
echo 3;}
источник

Vs

Vladislav support.od... in pro.bash
да, спасибо, опять забыл про ||
источник

🌚

🌚 YupiRex in pro.bash
к слову, была не давно задача написать на dash скрипт и нужно было проверять вхождение подстроки, нашел в инете и себе схоронил
#!/usr/bin/dash -eu
# contains(string, substring)
#
# Returns 0 if the specified string contains the specified substring,
# otherwise returns 1.
contains() {
   [ "${1#*$2}" != "$1" ] && return 0 || return 1
}

checker(){
       contains "$1" "$2" && echo "\"$1\" contain \"$2\"" || echo "\"$1\" does not contain \"$2\""
}

checker "abcd" "ab"
checker "abcd" "ab"
checker "abcd" "bc"
checker "abcd" "cd"
checker "abcd" "abcd"
checker "abcd efgh" "cd ef"
checker "abcd efgh" " "
checker "abcd" "e"
checker "" ""
checker "a" ""
checker "" "a"
источник

🌚

🌚 YupiRex in pro.bash
еще здесь много интересного контента
источник

🌚

🌚 YupiRex in pro.bash
источник

🌚

🌚 YupiRex in pro.bash
источник
2021 May 27

Д

Данил in pro.bash
Всем привет!
Я хочу написать простой скрипт для проверки вот такого паттерна:
(123) 456-7890.
Казалось бы все крайне просто, т.к паттерн в единственном экземпляре и никаких вариаций нету. Я написал регулярку и проверил ее на regex101.com. На сайте она матчила нужный паттерн, однако баш сопротивляется почему-то.
Можете подсказать пожалуйста что именно башу не нравится:
#!/bin/bash

regex='[(]{1}[0-9]{3}[)]{1}[\s]{1}[0-9]{3}[\-]{1}[0-9]{4}'

if [[ $1 =~ $regex ]]
then
 echo "True"
else
 echo "False"
fi
источник

Д

Данил in pro.bash
Кажется, ошибка была в пробеле. В баше \s не поддерживается(?) или просто не работает
источник

Лс

Лень с Самосознанием... in pro.bash
Есть grep, хватит мучать баш
источник

Vs

Vladislav support.od... in pro.bash
я - за awk
источник

F

Fljúgandi Kettlingur... in pro.bash
ЕМНИП [[ не умеет регулярки из переменной без всяких евалов
Попробуй просто [[ $1 =~ [(]{1}[0-9] ... ]]
источник