Sed *仅修改第一个文件

问题描述 投票:2回答:1

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

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

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

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

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

谢谢

sed macos-high-sierra
1个回答
0
投票

您可以使用以下命令

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

命令:

   find . -maxdepth 1 -type f -name '*.txt' -exec sed -i 'backup' -e '1,40d' {} \;
© www.soinside.com 2019 - 2024. All rights reserved.