當我從幾個目錄了對單個文件運行shasum,我得到了我希望和最終要:與find巴什腳本文件和xargs的
shasum 2010/Whitmore/The\ Astrophysical\ Journal\ 2010\ Whitmore.pdf
5da84767c2301f29ed3b7db7542167150fe63b8b 2010/Whitmore/The Astrophysical Journal 2010 Whitmore.pdf
當我從同一個目錄中找到,它列出文件沒有問題:
find 2010/Whitmore/* | xargs -0
2010/Whitmore/The Astrophysical Journal 2010 Whitmore.pdf
我一直想寫一個bash腳本(或只是一個單一的線),將返回對查找發現的每個文件的個別shasum(有很多),沿其文件名。將文件名管理到shasum不適用於我嘗試過的任何組合。我希望問題在於文件名中的空格,但是在Google搜索之後,嘗試一些find/xargs/ls組合(以及其他人可以使用的各種組合(包括-print0標誌)),我仍然無法找出在這些目錄下的每個文件上運行shasum的方法。
我想輸出的一個例子情況下(惠特莫爾下,假設有2個文件)有得到這個結果的完全不同的方式:
find 2010/Whitmore/* | xargs -0 | shasum
5da84767c2301f29ed3b7db7542167150fe63b8b 2010/Whitmore/The Astrophysical Journal 2010 Whitmore.pdf
4d2b0a6da00473133b4617d67d9249da3d05cc19 2010/Whitmore/arXiv 2010 Whitmore.pdf
我在Mac OSX 10.6
非常好!其實'-exec'選項對我來說很有意義,現在我明白了它在這個答案中的用法。我在閱讀時看到了它,但是當我自己嘗試時,我得到了一個關於結局的錯誤「;」我試圖將結果付諸實踐。真是一團糟。感謝您的快速和有益的答案! – JBWhitmore 2011-03-18 18:49:49