Size: a a a

2021 April 28

аᶘ

асоциальный пикотран... in pro.bash
просто если ты говоришь про ОДИН аргумент, то это ты либо в кавычки засовываешь, либо пробелы заменяешь на какой-то символ-разделитель, потому что с точки зрения шелла что угодно с пробелом внутри — это разделитель аргументов
источник

A

Alex in pro.bash
list_args="${*}" - так получается что читает все
источник

аᶘ

асоциальный пикотран... in pro.bash
ну ты можешь бегать по всем аргументам, игнорируя ровно два последних
источник

аᶘ

асоциальный пикотран... in pro.bash
просто тогда, ещё раз, в описании твоей проблемы ошибка
ты хочешь не первым аргументом это передавать, а первыми аргументами
источник

A

Alex in pro.bash
получается что так
list_args="${*}" - все записывается в переменную и переменную обрабатываю регуляркой. вот так придумал. хз насколько это правильно
источник

🌚

🌚 YupiRex in pro.bash
может лучше сформулировать полное ТЗ?
источник

A

Alex in pro.bash
если это можно назвать тз)
разделять\кавычить аргументы нельзя
источник

аᶘ

асоциальный пикотран... in pro.bash
→ cat test.sh
i=0

num1idx=$(($#-1))
num2idx=$(($#-2))

for arg in "$@"; do
   if [ "${i}" -eq "${num1idx}" ]; then
       num1=${arg}
   elif [ "${i}" -eq "${num2idx}" ]; then
       num2=${arg}
   else
       printf "%s\n" "${arg}"
   fi

   i=$((i+1))
done
источник

🌚

🌚 YupiRex in pro.bash
Переслано от Alex
подскажите как мне заматчить все кроме цифр в конце
https://regex101.com/r/IsKd6h/1
источник

🌚

🌚 YupiRex in pro.bash
Переслано от Alex
да цифр всегда двое и разделены пробелом, в директориях нет пробелов
источник

🌚

🌚 YupiRex in pro.bash
sed -r 's/(^.*) [0-9]+ [0-9]+/\1/'  <<< $list_args
источник

A

Alex in pro.bash
супер) спасибо
а как заматчить числа 1 0
источник

🌚

🌚 YupiRex in pro.bash
sed -r 's/^.* ([0-9]+ [0-9]+)/\1/'  <<< $list_args
скобки перебросить
источник

Лс

Лень с Самосознанием... in pro.bash
Потому что look behind это фича расширеных регулярок.
Вручи grep флаг -Р
источник

A

Alex in pro.bash
если можно еще вопрос
sed -r 's/^.* ([0-9]+)/\1/'  <<< $list_args - так я матчу 0
что то с 1 не совсем получается
источник

∀lǝxǝʎ in pro.bash
grep -oP '\s\K\d+'
источник

аᶘ

асоциальный пикотран... in pro.bash
Зачем разбирать что-то через грепы и седы, если есть нормальные встроенные в шелл возможности взаимодействия с аргументами?..
источник

A

Alex in pro.bash
да все я переделаю с аргументами
не выдержал) спасибо ребят
источник

∀lǝxǝʎ in pro.bash
Это да, но полностью задачу уже решили, так что это был локальный ответ
источник

∀lǝxǝʎ in pro.bash
Разве что я привык видеть это через while с case
источник