Sed * 只修改第一个文件

Sed * only modifying first file

我想删除大量 ASCII 文件的前 40 行,并保存没有这 40 行的 ASCII 文件

我在 OSX High Sierra 下工作,意识到 sed 中的 -i 选项不起作用,除非我创建一个备份文件,所以我尝试使用这个命令:

sed -i'backup' -e '1,40d' *.txt

但是它只修改和删除了我的第一个文件中的前 40 行(按字母顺序),而不是其他的。

如何使用一条命令编辑多个文件?

谢谢

您可以使用以下命令

  • 查看当前文件夹
  • 忽略子文件夹
  • 仅考虑文件名以“*.txt”结尾的文件
  • 在执行 sed 命令之前。

命令:

   find . -maxdepth 1 -type f -name '*.txt' -exec sed -i 'backup' -e '1,40d' {} \;