Я знаю, что об этом спрашивали много раз, но по какой-то причине мой сценарий не работает.Это будет работать, когда я предоставлю имя файла,
3)
echo "provide a string to find"
read stringA
echo "provide a string to write"
read stringB
echo
sed -i -e 's/'"$stringA"'/'"$stringB"'/g' ~/Desktop/skrypcik/*.$ext
;;
esac
, $ ext предоставляется ранее как расширение.когда я поменяю * с именем файла и оставлю там $ ext - он будет работать.
например, у меня есть 2 .txt файла с именем aaa.txt & bbb.txt, они останутся нетронутыми при запуске этого скрипта, но когда я изменю путь на ~ / Desktop / skrypcik / aaa.$ ext, установите $ ext в качестве txt, он будет работать и правильно изменять aaa.txt.
извините за путаницу, я только изучаю bash, и я видел, что "sed" используется с просто "sed -i 's / foo / bar / g' *", который работает очень хорошо.что не так с моим?
Спасибо
edit: ладно, видимо мне не хватало разрешений на этот файл, после замены на нужные он работает правильно.
после настройки теперь все хорошо, спасибо.
3)
echo "provide a string to find"
read stringA
echo "provide a string to replace"
read stringB
echo
sed -i '.backup' 's/'"$stringA"'/'"$stringB"'/g' ./*.$ext
echo "backups were created"
for x in ./*.$ext.backup; do
echo $x
done
;;
esac