我有这个字符串的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);
但它不起作用,我在控制台中收到错误
提前致谢!
答案 0 :(得分:3)
您可以尝试此命令
sed 's/\\n\\.*\('\'', 0, 2);\)/\1/g' FileName
输出
(17, 14, '2015-01-20 10:38:40', 211, 'Just text', 0, 2);
您必须使用'\''
之类的单引号以及反斜杠\\
答案 1 :(得分:0)
如果你能找到它,你可以不用任何东西替换它。
因此,根据\n
的含义以及您需要逃避的内容,您需要sed 's/\\n\\.*'//g'
之类的内容。
显然,请注意这是真的你要在每一行上替换的内容。首先可能值得搜索目标\\n\\.*'
,以确保它不会意外地抓住意外的线路。