dev*_*per 34 shell sed shellexecute
我有一个重命名的js文件,我必须在我的每个PHP页面调用.现在我想使用shell替换旧名称.我用的是这个: -
sed -i ’s/old/new/g’ *
Run Code Online (Sandbox Code Playgroud)
但这会产生以下错误: -
sed: -e expression #1, char 1: unknown command:
Run Code Online (Sandbox Code Playgroud)
现在我该如何替换?
gho*_*g74 50
sed -i.bak 's/old/new/g' *.php
Run Code Online (Sandbox Code Playgroud)
递归地做
find /path -type f -iname '*.php' -exec sed -i.bak 's/old/new/' "{}" +;
Run Code Online (Sandbox Code Playgroud)
K. *_*ert 30
可能没有那么详细的解决方案,但我们在这里:
for i in *; do sed -i 's/old/new/g' "$i"; done
Run Code Online (Sandbox Code Playgroud)
请注意,它只能在文件系统的当前级别上工作,子目录中的文件不会被修改.此外,您可能希望将*替换为*.php,或者进行备份(在-i之后传递参数,它将使用给定的扩展名进行备份).
小智 8
这个非常简单,没有for或loop,并且处理任何数字或嵌套目录
grep -rl 'oldText' [folderName-optional] | xargs sed -i 's/oldText/newText/g'
小智 8
我知道我真的迟到了,但仍然:
find . -type f -name "*.php"|xargs sed -i 's/old/new/g'
Run Code Online (Sandbox Code Playgroud)