PDA

查看完整版本 : 跪求幫忙


domainplayer
2005-12-05, 11:08 PM
請教各位!!
教授要我編輯藥學年刊,
丟了幾百個學者專家投搞的檔案給我...

檔名的格式如下:

PC-001-論文名.doc
.
.
.
PC-673-論文名.doc


問題來了...
裡面可能有些檔案是重複的
例如PC-059-Biflavonoids from Clusia rosea.doc與
PC-405-Biflavonoids from Clusia rosea.doc這兩個檔名其實是相同的,
差別只在開頭PC-後面的數字, 主要是因為投稿者在不同時間重複送出造成的...

因為檔名前包含數字, 我沒法使用按字母順序排列來檢查哪些是重覆的,
請問有人知道我該怎麼做, 才能找出那些重複的檔案嗎?? ~dead

一個一個找會找到眼花..
懇求各位告知祕技!!
PS. 相同檔名的檔案大小可能會不同,
因為有的人重覆修改寄出了好幾次....

monkey
2005-12-05, 11:26 PM
給你一個祕技...

你就把他從 pc-001 一直排到pc-673就可以了

^^"

domainplayer
2005-12-05, 11:33 PM
啥咪意思><"
monkey兄可以請你詳細解釋一下嗎??

licheng
2005-12-05, 11:54 PM
因為檔名前包含數字, 我沒法使用按字母順序排列來檢查哪些是重覆的,
請問有人知道我該怎麼做, 才能找出那些重複的檔案嗎??
那麼,如果兩個檔案內容是一樣的﹝只做了些微的修改﹞,除了檔名前面的 PC-xxx,後面的檔名,應該是相同的,是不是?

如果是的話,問題就簡單了。

先將所有的檔案,擺在同一個目錄底下,開一個 DOS 視窗,切換到擺置檔案的目錄,然後下達:

dir *.doc /b > output.txt

將 output.txt 的內容刪除前面的 PC-xxx,再排序,就可以找出哪些是重複的檔案。

刪除前面的 PC-xxx,我是使用 Unix 的 sed 指令。用 vim 也可以。

至於排序的方式很多。我是使用 Unix 移植到 Win32 的一個指令 sort,不知道 Windows 底下有沒有其他類似的東西?

大不了,你將 output.txt 的內容 pm 給我,我將排序結果 pm 給你。

game.tw
2005-12-06, 12:21 AM
那麼,如果兩個檔案內容是一樣的﹝只做了些微的修改﹞,除了檔名前面的 PC-xxx,後面的檔名,應該是相同的,是不是?

如果是的話,問題就簡單了。

先將所有的檔案,擺在同一個目錄底下,開一個 DOS 視窗,切換到擺置檔案的目錄,然後下達:

dir *.doc /b > output.txt

將 output.txt 的內容刪除前面的 PC-xxx,再排序,就可以找出哪些是重複的檔案。

刪除前面的 PC-xxx,我是使用 Unix 的 sed 指令。用 vim 也可以。

至於排序的方式很多。我是使用 Unix 移植到 Win32 的一個指令 sort,不知道 Windows 底下有沒有其他類似的東西?

大不了,你將 output.txt 的內容 pm 給我,我將排序結果 pm 給你。
上方提供的範例中的兩個相同檔案是
PC-059-Biflavonoids from Clusia rosea.doc與
PC-405-Biflavonoids from Clusia rosea.doc
若刪除前方的 PC-???-再進行排序,雖可得到結果,
但卻得不到前面的編號....
兩個或多個Biflavonoids from Clusia rosea.doc ,是沒有意義的...
因為沒有前面的編號,無法確定前面的檔名編號為何,無法進行後續動作

所以產生的結果,應該包含原有的完整檔名,又排序編號後方的檔案,
這樣對Domainplayer才有意義!

必須從第8個字開始進行排序!

game.tw
2005-12-06, 12:27 AM
看了自己的回覆之後,想了一個用Windows解決的可能方式...
一樣需要輸出output.txt ,用編輯程式去換前的檔案資訊,只留下檔案列表!
開一個Excel ,並用 資料 -> 匯入 功能,把output.txt匯進來...
分隔方式選擇 "-" ,這樣滙入的格式會變成
PC 059 檔名
再用資料中的排序,將檔名作擴大排序...
應該就可以了.......

我用想的,沒實際運作,但應該可行!

licheng
2005-12-06, 12:30 AM
PC-059-Biflavonoids from Clusia rosea.doc與
PC-405-Biflavonoids from Clusia rosea.doc
若刪除前方的 PC-???-再進行排序,雖可得到結果,
但卻得不到前面的編號....
兩個或多個Biflavonoids from Clusia rosea.doc ,是沒有意義的...
因為沒有前面的編號,無法確定前面的檔名編號為何,無法進行後續動作
不會沒有意義的。

譬如,已經取得 output.txt 列表,並找出

Biflavonoids from Clusia rosea.doc

這個相同的檔名,那麼,只要以該檔名為關鍵字,在 output.txt 裡面搜尋,就可以找出有哪些編號的檔案,包含 Biflavonoids from Clusia rosea.doc。如此,自然就找出哪些檔案是重複的。

前提是,相同的檔案,除了 PC-xxx 之外,檔名也必須相同。

通常,只要 uniq 這個指令,就可以很快找出重複者是誰。

licheng
2005-12-06, 12:33 AM
看了自己的回覆之後,想了一個用Windows解決的可能方式...
一樣需要輸出output.txt ,用編輯程式去換前的檔案資訊,只留下檔案列表!
開一個Excel ,並用 資料 -> 匯入 功能,把output.txt匯進來...
分隔方式選擇 "-" ,這樣滙入的格式會變成
PC 059 檔名
刪除 PC-xxx- 這個動作,只要一個 cut 指令即可。不需要用到 Excel....

哈啦
2005-12-06, 12:37 AM
還是請各位專家幫domainplayer直接處理比較快吧。:)

game.tw
2005-12-06, 12:48 AM
刪除 PC-xxx- 這個動作,只要一個 cut 指令即可。不需要用到 Excel....
Licheng兄所提的,都是 正規表示式.... ~youarebe:
是我一直想學的.....
目前只會用單一個 grep 來看東西~_~!!!
像是 ps -l | grep corn 這樣
其他的都不太懂,也就更不敢用了....
Domainplayer的問題....
在Linux中,其實就不用那麼頭痛了.........

ps:當下正在鳥哥的站內努力中 :shutup

domainplayer
2005-12-06, 12:53 AM
還是請各位專家幫domainplayer直接處理比較快吧。:)
感謝各位頂力相助!!!
小弟感激不盡!!

在看到兩位回覆前seesawgame兄給了我一個能夠一次取代所有資料夾內檔名的程式,
我先將那些投稿檔案copy了另外一份,用該程式消掉所有copy檔案中檔名的數字,
如此一來便可利用"排列圖示-->依名稱"按照字首排行來找倒底有哪些是重覆的,
找到後再到原始檔案那邊殺即可.


licheng兄與game.tw兄的方法對我來說太複雜了些,
但還是十分謝謝你們解說這個方法! :bow :bow :bow

licheng
2005-12-06, 12:56 AM
還是請各位專家幫domainplayer直接處理比較快吧。:)
現在是,皇帝不急,急死太監。 ?:teeth

不過,小弟提到的方式,有個前提,就是,必須除了 PC-xxx,內容一樣的﹝即便只有小差異﹞,檔案名稱必須一樣。否則,小弟大概也幫不上忙。

特別是,檔案是 DOC 檔。如果要搜尋內容比對,小弟一點兒辦法也沒有。 :roll:

some
2005-12-06, 12:57 AM
Licheng兄所提的,都是 正規表示式.... ~youarebe:
是我一直想學的.....
目前只會用單一個 grep 來看東西~_~!!!
像是 ps -l | grep corn 這樣
其他的都不太懂,也就更不敢用了....
Domainplayer的問題....
在Linux中,其實就不用那麼頭痛了.........

ps:當下正在鳥哥的站內努力中 :shutup

小弟二年前自架 linux主機時曾很認真的學習過, 所以我的最愛裡有一些連結..
當好 game.tw 兄提到, 小弟就丟出來給大家參考. 只是我看這個討論串
發現應該只是一個小問題. 我卻一點法子也想不出, 也不知道該如何做, 這時才知道自己能力不足了 :shutup

http://linux.tnc.edu.tw/techdoc/shell/c691.html#AEN698
http://neural.cs.nthu.edu.tw/jang/books/webprog/03jscript/reg3.asp?SessionCount=17
http://info.sayya.org/~edt1023/vim/node11.html
http://www.cyut.edu.tw/~ckhung/a/c051.php

licheng
2005-12-06, 12:57 AM
在看到兩位回覆前seesawgame兄給了我一個能夠一次取代所有資料夾內檔名的程式,
能夠解決問題最重要。 ~yes

domainplayer
2005-12-06, 01:00 AM
我要繼續去趕我的編輯工作了..
學校的老師實在是ooxx
把我當資訊系的用 ~angrytalk

我同時還有很多positions攬在身上,
每天事情多到做不完...

昨天做了好久才弄出了一個brochure,
http://apro.ipsf.org/edbrochure.doc
自掏腰包印全彩一百多份寄去日本的學生組織....

最近都沒時間看(玩)domain,
只能利用空檔上一下club或搜尋域名
有時候版友的文章或是pm甚至沒回覆...><""
我不是故意的, 請見諒.

licheng
2005-12-06, 01:03 AM
Licheng兄所提的,都是 正規表示式....
這些東西真的很好用。有時候我常想,回到 Windows,沒有這些東西,日子怎麼過... ~dead

聞道有先後。小弟對於 BIND,一無所悉,還得跟 game.tw 請教。 ~yes

順便跟 game.tw 提一下。如果取得 output.txt,嚴謹一點兒的話,可以以下數指令得到重複的檔名:

cat output.txt | cut -d - -f 3 | tr [:upper:] [:lower:] | sort | uniq -d

說穿了,最重要的,只有 uniq 跟 sort。

game.tw
2005-12-06, 01:14 AM
順便跟 game.tw 提一下。如果取得 output.txt,嚴謹一點兒的話,可以以下數指令得到重複的檔名:

cat output.txt | cut -d - -f 3 | tr [:upper:] [:lower:] | sort | uniq -d

說穿了,最重要的,只有 uniq 跟 sort。
看到這行,真覺得很讚 ~embarass:
看到當下....直覺是
顯示output.txt , 分欄 "-" 取第三欄 , 大小寫置換 , 排序 ,刪除重複列...
最後的uniq -d是到外面偷看的^^! 其他的我都能理解....
不過我目前還寫不出這樣的列示....

有個問題請教Licheng兄....另開主題...請幫忙 :cry:

licheng
2005-12-06, 01:26 AM
顯示output.txt , 分欄 "-" 取第三欄 , 大小寫置換 , 排序 ,刪除重複列... ~yes

光這樣,咱們就是同一國的了。 ?:teeth

有個問題請教Licheng兄....另開主題...請幫忙 :cry:不敢。

小弟只是愛玩 Unix 而已,道行其實很淺的。 ~dead

game.tw 兄如果認為小弟幫得上忙,歡迎隨時 pm 小弟﹝這種東西在這兒討論會不會太無趣? :shutup ﹞,小弟能力內,知無不言。

小弟即將離線。先告知 game.tw 兄,以免您空等。PM 給小弟的信,自當儘快回覆。 :bow

shenghong
2005-12-06, 02:22 AM
學校的老師實在是ooxx
把我當資訊系的用 ~angrytalk
.
不禁想到滿多指導教授是關心學生把自己的東西弄完沒
而不是學生的論文寫怎樣...>"<

Ricado
2005-12-06, 09:31 AM
最簡單的方式,按下滑鼠右鍵,依大小排序,不同人的資料大小要完全一樣的機率不高,尤其檔案不多的時候,所以通常通常可以將同ㄧ個人的排在一起。

game.tw
2005-12-06, 10:32 AM
最簡單的方式,按下滑鼠右鍵,依大小排序,不同人的資料大小要完全一樣的機率不高,尤其檔案不多的時候,所以通常通常可以將同ㄧ個人的排在一起。

這個問題,真的是比經驗,再比技術....
我們一直卡在 "檔名"的問題上.....
實在也對,若只是重覆傳送.....
檔案大小要相同的機率實在是小....

小弟配服!
也配服licheng!

:bow

seesawgame
2005-12-06, 11:04 AM
唉,昨天被DP在msn上一問之後,還真的忘了用「大小」排序
這個方法應該是最簡單又快的了吧~

ptez
2005-12-06, 01:26 PM
不過,這種 paper, 可能大家的檔案也都差不多。沒幾頁。

monkey
2005-12-06, 02:38 PM
啥咪意思><"
monkey兄可以請你詳細解釋一下嗎??
一天沒上來..回覆就一大串了 ^^"

我的意思是..年鑑這種東西是放在書架上的.
很多人喜歡拿 認真看的不多,尤其是老師! (老師都是把東西丟給學生 然後再跟他報告成果)
學生寫論文時喜歡拿來參考..看到有問題時頂多叫兩聲而已..不會有大事.
所以 照排就可以了..份量多一點 ?:teeth 記得要精裝加燙金 看起來比較漂亮!

以前都是這樣...現在不知道有沒有進步 ~embarass: