批量删除.txt文件中的特定文本

批量删除.txt文件中的特定文本

我有 30 多个文本文件,我想从中删除特定的文本行。它们都有不同的名称(我需要保留),它们位于同一个文件夹中。文本不会全部在同一行,但会完全相同。有些是单个单词,有些是多行。我研究过各种方法 - 但有点不知所措。我也研究过使用宏(在 LO 中)和 python,但仍然卡住了!我也有这些文件的 Libre office writer(.odt)版本,但宁愿使用文本文件(我将它们保存为 .txt 以摆脱格式等)

我是 Linux 新手,经验有限……在阅读了大量资料之后,我尝试在 cli 中执行此操作,首先 cd 到包含文件的目录/文件夹,然后sed -i.bak 'text to be deleted'/d'*我尝试用一​​个单词和几行(一个段落)执行此操作 - 什么也没发生!我想我错过了什么!我读过的很多内容都提到使用行号或以 开头的行等 - 但就我而言(如果可能的话),最好使用文本 A 类查找和替换,用无替换。我可以打开每个文件并进行查找和替换,但我需要删除很多文本 - 每个文件都需要几个过程。
我只是觉得我还应该说有些文件并不包含我想要删除的所有文本。

谢谢你的帮助

答案1

这个表述对海报有用:

sed -i.bak 's/text to be deleted//' *

相关内容