提问者:小点点

使用bash在所有php文件中递归更改第一行


我有一个WordPress网站,想使用bash递归更改所有php文件的第一行。我该怎么办?我对bash不是很熟悉。

谢谢!


共3个答案

匿名用户

将第一行更改为其他行:

sed -i '1s/.*/changed line/' *.php

在第一行之前添加一行:

sed -i '1s/^/changed line\n/' *.php

匿名用户

为了修改文件的第一行,您可以使用以下命令:

awk 'NR==1 {$0="what you want"} 1' *.php

您将在此处找到更多信息:bash:替换文本文件中的整行

然后要递归地执行此操作,您可以先使用find,然后对每个找到的文件执行awk命令。

find . -name "*.php" -exec awk 'NR==1 {$0="what you want"} 1'

有关查找命令的更多信息:https://www.gnu.org/software/findutils/manual/html_mono/find.html#Scope

匿名用户

我使用了上述两个答案并执行了以下操作:

find . -name "*.php" -exec sed -i '1 s/.*/<?php/' '{}' \;

谢谢你们Theox和anishsane的帮助