2013-08-06 13 views
1

如何從使用SED(bash shell)的RTF文件中提取「單元格」信息。即任何{}對之間的所有字符串,其中一行可以有幾個RTF。我想刪除所有的RTF代碼,只保留表值。使用SED從RTF文件中拉出「單元格」值

+0

awk在這類事情上更好,我相信...更好地使用分隔符。 –

+0

你想如何處理表格外的純文本?如果你只想要表格中的文字,這將是相當困難的。 –

+0

也許你應該展示你的RTF文件。我創建了一個簡單的RTF文件,並且'{}'標記不在表格單元格中。當然,這是在Mac上創建的RTF,而不是在Windows機器上創建的。另外,你是否希望保留'{}'標記? –

回答

1

這可能爲你工作(GNU SED):

sed '/{/!d;s/[^{]*{\([^}]*\)}/\1\n/;P;D' file 

它刪除沒有開括號的任何行。然後刪除所有包含第一個大括號的字符。然後將字符串打印在一個單獨的行中,但不包括在大括號內。

+0

RTF文件來自Word表格。我正在尋找僅捕獲表格單元格中的值並將它們放入純文本文件中。由於Word表格中有多個列,因此同一行中可能有多組{}。捕獲所有{N = xx}的情況也是有用的,其中xx是一個數字。非常感謝您的幫助。 – user2658151