я использую версию этих инструментов gnu
Я пытаюсь распаковать архив и преобразовать файл
Файл называется «myfile.txt», и он появляется в нескольких папках в архиве - поэтому я подумал, что передача полного пути к xarg преобразует все файлы
mkdir temp
unzip mypackage.zip -d temp
find temp -iname "myfile.txt" | xargs -I FILE sh -c "sed -e 's/replacethis/withthis/g' -e 's/replacethistoo/withthisaswell/g' FILE | tee FILE"
# List the files
find temp -iname "myfile.txt" | xargs -I FILE ls -l FILE
# Cat the files
find temp -iname "myfile.txt" | xargs -I FILE cat FILE
# Clean up
rm -Rf temp
Я запускаю этот скрипт несколько раз и получаю разные результаты, которые я не понимаю
Каждый раз другой файл «myfile. txt "изменен, иногда один из файлов" myfile.txt "имеет 0 байт
Почему это происходит? Это должно быть каждый раз одно и то же, не так ли? При каждом запуске этого скрипта find передает только один случайный путь "myfile.txt" к xargs?