我是一個使用正則表達式和處理文本的初學者。我需要做的是將文件中的文本格式化爲CSV格式以導入到電子表格中。使用sed或awk或其他文本處理器來查找/替換範圍內的數字
我需要找到一個具有一定範圍的數字並插入回車符 - \r
- 在它後面並刪除一個逗號。我知道如何查找/替換特定字符,但不是在一系列字符或數字中。
這是處理:我有一個長文本文件,在這種格式。
Shimshon A
(blank)
November 24, 2012
13,481
jonathan t
Laguna Niguel, CA
November 24, 2012
13,480
scott b
Sussex, NJ
November 24, 2012
13,479
我添加行逗號和開始/在找到一個文本編輯器行引號月底結束/替換:
"Shimshon A",
"(blank)",
"November 24, 2012",
"13,481",
"jonathan t",
"Laguna Niguel, CA",
"November 24, 2012",
"13,480",
"scott b",
"Sussex, NJ",
"November 24, 2012",
"13,479",
但是,一旦當我刪除所有的回報,我需要插入到1範圍內13481號碼後返回這是因爲在CSV每一列必須是名稱,位置,日期和數目,像這樣:
"Shimshon A","(blank)","November 24, 2012","13,481"
"jonathan t","Laguna Niguel, CA","November 24, 2012","13,480"
"scott b","Sussex, NJ","November 24, 2012","13,479"
編輯完成。希望沒有太多的錯別字。評論歡迎。 – Steve
另外,看到這個鏈接 - 你可能會發現它的洞察力:http://stackoverflow.com/questions/13550072/awk-insert-a-new-row-after-the-regular-expression/13550483#13550483 – Steve
謝謝你們工作;我正在從這些例子中學習。 awk示例工作正常,我想出瞭如何從一個文件讀取並輸出到另一個文件,即file.txt> newfile.txt。 sed示例不想工作;第一個不會改變文本(在標準輸出上),第二個在處理所有內容時由於某種原因,它會去掉每行上的第一個和最後一個引號。可能是我在OS X上使用的sed;它似乎是POSIX sed而不是GNU sed。但是,awk工作正常,這對我很好。謝謝。 – markratledge