【问题标题】:Osx: delete all first line of multiple filesosx:删除多个文件的所有第一行
【发布时间】:2014-12-03 07:40:07
【问题描述】:

我阅读了很多关于我的问题的帖子,但我不知道如何解决我的问题。

我有很多以错误的第一行开头的 wordpress 文件。我认为我的 wordpress 被黑了,每个 .php 文件都以一长串函数开头,仅在第一行。

我尝试通过终端使用 sed 删除每个文件的第一行。

我运行这个命令

find . -type f -name "*.php" | xargs sed -i '' '1d' 

但只删除第一个文件的第一行;我不知道为什么。

希望这不是一个已经回答的问题。

提前致谢。

【问题讨论】:

  • xargs 将尽可能多的参数传递给您尝试执行的命令的命令行。你实际上是在尝试做sed -i '' '1d' file1 file2 file3 file4 ...fileN

标签: php wordpress macos sed


【解决方案1】:

你不需要去xargs,find的内置函数-execdir会帮助你在find本身上运行一个外部命令。

find . -type f -name "*.php" -execdir sed -i '1d' {} \;

find . -type f -name "*.php" -execdir sed -i '' '1d' {} \;

【讨论】:

  • 是的,我用 -i '' 试试你的代码,因为在 osx 中我们必须指定 -i 文件扩展名,即使是空白。非常感谢!
猜你喜欢
  • 2011-12-25
  • 1970-01-01
  • 2023-03-24
  • 2021-11-24
  • 2015-08-27
  • 2023-03-02
  • 1970-01-01
  • 2019-06-14
  • 1970-01-01
相关资源
最近更新 更多