我有一个WordPress网站,想使用bash递归地更改所有php文件的第一行。我该怎么办?我对bash不是很熟悉。
谢谢!
将第一行更改为其他行:
sed -i '1s/.*/changed line/' *.php
在第一行之前添加一行:
sed -i '1s/^/changed linen/' *.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'
有关find
命令的更多信息,请访问:https://www.gnu.org/software/findutils/manual/html_mono/find.html#Scope
我使用了上述两个答案并执行了以下内容:
find . -name "*.php" -exec sed -i '1 s/.*/<?php/' '{}' ;
所以感谢你们两位 Theox 和 anishsane 的帮助