将第一行更改为其他行:
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的帮助