我在維基百科編輯歷史上有一個文本分隔文件。每行包含一個不同的維基百科編輯。該文件按頁面標題排序,以便每個頁面的每個編輯都是自己的行(該行由7個不同的變量製表符分隔)。我需要的是每個頁面的第一個和最後一個編輯。我想要的是一個類似的文件,其中每個wikipedia頁面只有一行,每行包含該頁面的第一個和最後一個編輯的所有信息。基本上,一行是文件中第一個和最後一個編輯行的組合。從製表符分隔的文件中提取部分數據
我想知道是否有一個簡單的bash腳本或短的python代碼(我可以在mac osx終端運行的東西),將通過txt文件並輸出我想要的。
謝謝你的幫助!
下面是該文件的前幾行得到的是什麼樣子的想法:
6 233188 AmericanSamoa 2001-01-19T01:12:51Z ip:office.bomis.com ip:office.bomis.com 1516
6 133180191 AmericanSamoa 2007-05-24T14:41:33Z Ngaiklin 4477979 5
8 233189 AppliedEthics 2001-01-20T15:01:12Z ip:pD950754B.dip.t-dialin.net ip:pD950754B.dip.t-dialin.net 9
8 133180238 AppliedEthics 2007-05-24T14:41:48Z Ngaiklin 4477979 6
10 233192 AccessibleComputing 2001-01-21T02:12:21Z RoseParks 99 8
10 133180268 AccessibleComputing 2007-05-24T14:41:58Z Ngaiklin 4477979 6
12 18201 Anarchism 2002-02-25T15:00:22Z ip:Conversion_script ip:Conversion_script 1214
12 19746 Anarchism 2002-02-25T15:43:11Z ip:140.232.153.45 ip:140.232.153.45 1460
12 19749 Anarchism 2002-02-27T17:34:09Z ip:24.188.31.147 ip:24.188.31.147 1474
給出上述行是這樣的輸出的一個例子:(記住,每一頁有不同數量的編輯,範圍從2到幾百,我只需要對每一頁進行第一次和最後一次編輯。我希望輸出類似於下面的例子,其中每一頁都有一行包含第一次和最後一次編輯信息
6 233188 AmericanSamoa 2001-01-19T01:12:51Z ip:office.bomis.com ip:office.bomis.com 1516 2007-05-24T14:41:33Z Ngaiklin 4477979 5
8 233189 AppliedEthics 2001-01-20T15:01:12Z ip:pD950754B.dip.t-dialin.net ip:pD950754B.dip.t-dialin.net 9 2007-05-24T14:41:48Z Ngaiklin 4477979 6
10 233192 AccessibleComputing 2001-01-21T02:12:21Z RoseParks 99 8 2007-05-24T14:41:58Z Ngaiklin 4477979 6
12 18201 Anarchism 2002-02-25T15:00:22Z ip:Conversion_script ip:Conversion_script 1214 2002-02-27T17:34:09Z ip:24.188.31.147 ip:24.188.31.147 1474
歡迎StackOverflow上的問題。請對您的標籤進行更多選擇。這個問題與維基百科本身無關。這是關於解析製表符分隔的文本。 :-)如果你指出你在詢問什麼操作系統和編程/腳本語言,它也會有所幫助;如果有人提供了bash腳本並且您正在運行Windows,或者如果您使用的是OS X,那麼它將不會很好。您可以編輯您的問題以添加適當的標籤。如果您在問題和標籤中提供詳細信息,它可以幫助您更快地獲得答案。 :-) –
請包括一些示例輸出。很難說出這裏要問什麼。 – Steve
如果您可以確保文件正確排序,即。通過標題和日期,您可以編寫一個PHP/Perl/Python腳本,其中包含讀取,保存標題和輸出標題更改代碼。我認爲這比在bash中做事容易得多。如果你的文件沒有被排序,你可以使用散列圖實現相同的功能。去一趟,發佈一些代碼進行審查,而不是讓人們爲你寫這個東西。 – Pete855217