拔出;单元格“;从RTF文件中使用SED的值

拔出;单元格“;从RTF文件中使用SED的值,sed,Sed,如何使用SED(bashshell)从RTF文件中提取“单元”信息。即任何{}对之间的所有字符串,其中RTF行上可以有多个。我想去掉所有的RTF代码,只保留表值。这可能适合您(GNU-sed): 它将删除没有左大括号的任何行。然后删除第一个大括号内的所有字符。然后在单独的行上打印右大括号内但不包括右大括号的字符串。这可能适合您(GNU-sed): 它将删除没有左大括号的任何行。然后删除第一个大括号内的所有字符。然后在单独的行中打印字符串,但不包括右大括号。awk在这方面做得更好,我相信。。。更好

如何使用SED(bashshell)从RTF文件中提取“单元”信息。即任何{}对之间的所有字符串,其中RTF行上可以有多个。我想去掉所有的RTF代码,只保留表值。

这可能适合您(GNU-sed):

它将删除没有左大括号的任何行。然后删除第一个大括号内的所有字符。然后在单独的行上打印右大括号内但不包括右大括号的字符串。

这可能适合您(GNU-sed):


它将删除没有左大括号的任何行。然后删除第一个大括号内的所有字符。然后在单独的行中打印字符串,但不包括右大括号。

awk在这方面做得更好,我相信。。。更好地使用分隔符。您希望如何处理表外的纯文本?如果你只想把文本放在一个表中,那就很难了。也许你应该展示一下你的RTF文件中有什么。我创建了一个简单的RTF文件,
{}
标记不在表单元格中的项目周围。当然,这是在Mac上创建的RTF,而不是在Windows机器上。另外,你想保留
{}
标记吗?我相信awk在这方面做得更好。。。更好地使用分隔符。您希望如何处理表外的纯文本?如果你只想把文本放在一个表中,那就很难了。也许你应该展示一下你的RTF文件中有什么。我创建了一个简单的RTF文件,
{}
标记不在表单元格中的项目周围。当然,这是在Mac上创建的RTF,而不是在Windows机器上。另外,是否要保留
{}
标记?RTF文件来自Word表。我希望只捕获表单元格中的值,并将它们放入纯文本文件中。由于Word表中有多个列,同一行中可能有多组{}。捕捉{N=xx}中xx是数字的所有情况也很有用。非常感谢您的帮助。RTF文件来自Word表。我希望只捕获表单元格中的值,并将它们放入纯文本文件中。由于Word表中有多个列,同一行中可能有多组{}。捕捉{N=xx}中xx是数字的所有情况也很有用。非常感谢你的帮助。
sed '/{/!d;s/[^{]*{\([^}]*\)}/\1\n/;P;D' file