遍历所有子目录并修改文件内容的Shell脚本
我需要修改目录中的许多文件。我需要修改所有包含特定文本的文件,并且必须替换为一些新文本遍历所有子目录并修改文件内容的Shell脚本,shell,unix,Shell,Unix,我需要修改目录中的许多文件。我需要修改所有包含特定文本的文件,并且必须替换为一些新文本 因此,我考虑编写一个shell脚本,它将遍历所有子目录并修改内容,但在遍历所有可能的目录时我遇到了问题。您需要。您需要。您可以使用查找遍历子目录以查找文件,然后将它们传递给sed搜索和替换文本 e、 g 将查找所有txt文件并将其中的foo替换为bar -i使sed在适当的位置更改文件。如果要在更改之前备份文件,还可以向sed提供备份后缀。您可以使用find遍历子目录以查找文件,然后将其传递到sed以搜索和替
因此,我考虑编写一个shell脚本,它将遍历所有子目录并修改内容,但在遍历所有可能的目录时我遇到了问题。您需要。您需要。您可以使用
查找遍历子目录以查找文件,然后将它们传递给sed
搜索和替换文本
e、 g
将查找所有txt文件并将其中的foo替换为bar
-i
使sed在适当的位置更改文件。如果要在更改之前备份文件,还可以向sed提供备份后缀。您可以使用find
遍历子目录以查找文件,然后将其传递到sed
以搜索和替换文本
for n in $(find | grep txt$)
do
echo $n
modify_content.sh $n
done
e、 g
将查找所有txt文件并将其中的foo替换为bar
-i
使sed在适当的位置更改文件。如果您想在更改文件之前备份这些文件,还可以为sed提供备份后缀。GNU find
for n in $(find | grep txt$)
do
echo $n
modify_content.sh $n
done
find /some_path -type f -name "*.txt" -exec sed -i 's/foo/bar/g' "{}" +;
GNU查找
find /some_path -type f -name "*.txt" -exec sed -i 's/foo/bar/g' "{}" +;
:)
:)。无需使用-print
,并且您对-name
使用了错误的模式。您可以使用-i.bak
来创建备份文件(.bak
在这种情况下扩展名)。