sed如何删除之间的文本和符号

sed how to delete text and symbols between

我有 sql 个包含以下字符串的文件:

(17, 14, '2015-01-20 10:38:40', 211, 'Just text\n\nFrom: Support  <support@domain.com>\n Send: 20 Jan 2015 year. 10:33\n To: Admin\n Theme: [TST #0000014] Just text \n\nJust text: Text\n Test text test text\n\nJust text:\n Text\n\n-- \n Test\n Text.\n Many text words 0.84.2', 0, 2);

我想删除符号 \n\', 0, 2); 之间的所有文本 我想要得到这个结果:

(17, 14, '2015-01-20 10:38:40', 211, 'Just text', 0, 2);

我怎样才能通过 sed 做到这一点?

我尝试使用这个例子 - cat file | sed 's/<b>.*</b>//g'。我将 <b> 更改为 \n\ 并将 </b> 更改为 ', 0, 2); 但是它不起作用,我在控制台中收到错误消息

提前致谢!

如果你能找到它,你可以用任何东西代替它。

因此,根据 \n 的含义以及您需要逃避的内容,您需要类似 sed 's/\n\.*'//g'.

的内容

显然,请注意这是真正您要在每一行中替换的内容。可能值得先搜索目标 \n\.*',以确保它不会意外地在意外行上抓取太多内容。

你可以试试这个命令

sed 's/\n\.*\('\'', 0, 2);\)//g' FileName

输出:

(17, 14, '2015-01-20 10:38:40', 211, 'Just text', 0, 2);

你必须像 '\'' 一样转义单引号以及反斜杠 \