我知道已经被问过很多次了,但是由于某种原因,我的脚本无法正常工作。当我提供文件名
时,它将起作用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保留在那里时,它将起作用。
例如,我有两个名为aaa.txt和bbb.txt的.txt文件,运行此脚本将使它们保持不变,但是当我将路径更改为〜/ Desktop / skrypcik / aaa。$ ext时,将$ ext设置为txt,它将起作用并正确更改aaa.txt。
抱歉,我只是在学习bash,并且看到“ sed”与“ sed -i's / foo / bar / g'*”一起使用非常有效。我怎么了?
谢谢
编辑:好吧,显然,在将其更改为正确的文件后,我对该文件缺少权限。
调整后,现在一切都很好,谢谢。
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