Вместо Slax можно использовать Puppy Linux. Он загружается и запускается из оперативной памяти, а затем сохраняет ваши изменения при завершении работы. Puppy не предоставляет средства для прямого использования APT, но упомянутые вами инструменты, вероятно, имеют.debs в репозиториях Debian и/или Ubuntu, и у Puppy есть инструмент для преобразования их в пакеты Puppy Pet Packages для установки. Возможно, они уже доступны в диспетчере пакетов Puppy.
В верхней части вы ссылаетесь на имя файла file.txt
, но затем имеете дело только с файлами с именем config.yml
, поэтому я предполагаю, что config.yml
содержит эти шаблоны.
Теги locate
иbash
вводят в заблуждение, так как это не имеет ничего общего с обоими :). Что еще более важно, что это за среда? В системах LinuxGNU/sed обычно устанавливается и требует опции -E
, чтобы понять условие swipe|pinch
. Скобочные выражения (часть [0-9]
вашего шаблона )работает даже без -E
.
Таким образом, с учетом этого, следующее работает с GNU/sed и BSD/sed:
locate config.yml | while read -r i; do sed -E '/swipe|pinch/s/[0-9]/3/' "$i"; done
Или, сfind
:
find. -name config.yml -exec sed -E '/swipe|pinch/s/[0-9]/3/' '{}' +
NB :ваш шаблон /swipe|pinch/
был правильным, предложение изменить его, чтобы избежать символа вертикальной черты на /swipe\|pinch/
, не будет работать, так как теперь это больше не регулярное выражение и будет соответствовать литералу |
и, следовательно, не будет соответствовать ни одному содержимому вашего файла. Однако это будет работать, если окружающие апострофы('
)опущены:
sed -E /swipe\|pinch/s/[0-9]/3/