2016-07-30 52 views
0

如何在.ods文檔中進行條件更改?我有兩列。其中一個存儲字符串,第二個存儲值。我想用我有的特定字符串搜索文檔,比如說「xyz」。如果這與第一列中顯示的任何字符串匹配,我希望從同一行中的單元格中扣除1的值,但是從第二列中扣除1。所述的.ods文檔中的數據是由不同的相鄰小區分離在bash中執行.ods文件的條件更改

作爲一個例子,考慮以下的(所以標籤?):

XYZ 23
XXY 42
XZZ 76

如果我有字符串「XXY」,我想在bash腳本來更新的.ods文件,使之看起來像這樣:

XYZ 23
XXY 41
xzz 76

現在,我正在搜索的字符串存儲在一個單獨的.txt文件中。我想迭代.txt文件中的所有字符串,並重復執行.ods文件中描述的操作。可能會出現多次出現相同字符串的情況。任何有用的幫助?

+0

UNIX工具可以處理文本文件,而不是Excel文件。您可以從Excel中導出CSV,然後使用UNIX工具來操作CSV,然後將結果導回到Excel中,但不能直接使用UNIX工具操作Excel文件。 –

回答

2

這應該是一個評論,但它有點長

正在尋找存儲在一個文本文件中。

編號MS Excel文件不是文本文件。它甚至不是一個文件,而是一個嵌入文件系統,其中內容在OLE中被封裝,或者最近被作爲一個xml樹。雖然在Unix上可以使用OLE和XML解析器(我假設你想在Linux/Unix/Posix上運行它,因爲你已經用bash,awk和sed標記了這些),它們可以讓你訪問數據的存儲位置。您仍然需要詳細瞭解文件格式才能進行更改。儘管在bash中可能會這樣做,但在專用編程語言中會更容易。有幾個來處理Excel文件的庫,但它們對文件格式的支持有所不同。或者,您可以使用其UNO API在openoffice中加載它。

+0

將要搜索的字符串位於.txt文件中。我想將這些字符串與可以在Excel文件中找到的字符串進行匹配並執行所描述的操作。我有2個單獨的文件。一個帶有字符串列表(文本文件)和另一個將字符串數量(Excel文件) – Sid