【发布时间】:2017-06-01 07:08:41
【问题描述】:
我有一个包含许多不同文件夹的目录。在这些是一些 php 文件。我需要在所有这些文件夹中更改与某个字符串匹配的所有文件中的第 nr 1 行。
我需要更改的所有文件都在第 1 行:<?php some text><?php
我需要用“<?php”替换所有第一行
我试过这个:
grep -rl something /somedir/folder/ | xargs sed -i '' '1s/.*/<?php/
但它只替换第一个文件夹中的一个文件。
我也试过了:
grep -rnw something /somedir/folder/ | xargs sed -i '' '1s/.*/<?php/
然后我得到这个错误:
sed: /somedir/folder//1.php:1:<?php: No such file or directory
知道如何解决这个问题吗?
【问题讨论】:
-
删除空字符串后,您的解决方案可以正常工作。请参阅我的(经过测试的)答案。