我想找出一種使用sed或awk的方法,它將查找已知字符串,讓已知文件名中的「name」可以說「filename.txt」。在每次出現字符串後,「名稱」都有一個空格,然後有一個小數值,範圍從0.00001 - 999.99999,在這個數字之前和之後都有很多數字。在大多數情況下,該值是類型X.XXXXX。該值始終出現在字符串「名稱」之後。我希望能夠將「name」後面的十進制值替換爲我給它的值,可以說「mydecimalvalue」。查找字符串並將其替換後的十進制值
同樣,如果「filename.txt」中不存在「name」,我想將它添加到字符串「name1」後面,這是已知的,並且將在每個「filename.txt」中存在。有任何想法嗎?一個解釋也將非常讚賞,因爲我很容易迷失在正則表達式和選項意義中。
例如,FILENAME.TXT可能看起來像:
garbage 10.34420
name1 34.23000
name 8.32345
moregarbage 4.23324
我要替換 「名稱8.32345」 與 「名15.43200」 爲例。如果在文件的任何位置不存在任何類型值的「名稱」,我想在「name1 34.23000」後面寫上「name 15.43200」。如果文件中存在「名稱」,可以假定它只會在整個文件中存在一次。 謝謝!
請考慮與涵蓋了你需要的支持和所需的輸出該數據的情況下,一些樣本數據來替換這個詳盡的描述。請注意,您可以使用格式欄中的工具縮進代碼和數據。祝你好運。 – shellter 2012-04-11 17:52:49