2017-10-19 55 views
0

我最近使用他們的外賣選項從Google相冊下載了我的所有照片。他們通常會在丟失照片時遇到問題,所以我正在努力確保我在線上的照片數量與我下載的數量相符。這裏的主要問題是Google Takeout不僅會爲每一天(2014-12-23)創建一個新文件夾,還會包含文件夾內的其他文件,如metadata.json2014-12-23-edited.jpg在Mac OSX Terminal中,我們如何確定統計內部沒有特定單詞的.jpg文件數?

編輯過的部分是在之前編輯過照片。這意味着如果原始照片

2014-12-23.jpg有編輯,它也將包括2014-12-23-edited.jpg

因此,我的問題是,我如何瀏覽所有文件夾並只計算.jpg文件,並排除任何名稱中包含「編輯」字樣的.jpg文件?有沒有辦法在Mac OSX的終端中執行此操作?

回答

2

您可以使用:

find /path/to/top/folder -iname "*.jpg" '!' -iname "*-edited.jpg" | wc -l 

說明:find命令將搜索指定的文件夾及其對符合指定條件的文件夾。 -iname "*.jpg"匹配以「.jpg」結尾的文件名,並且'!' -iname "*-edited.jpg"不包含(即!)以「-edited.jpg」結尾的文件名匹配。 find打印找到的文件的路徑,wc -l統計文件的數量(實際上是行數,但除非文件名中有換行符,否則每個文件會有一行)。

+0

所以基本上我會用'-iname「替換'-iname c' * -edited.jpg」'? – user321627

+0

@ user321627 D'oh!是的,這就是它應該是的(現在我已經修復了它)。 –

+0

謝謝,這是超級duper有幫助! – user321627

1

只是爲了好玩,一個稍微容易的版本:

find /path/to/start/at -iname \*.jpg | grep -vc "edited.jpg$" 

-v忽略edited.jpg結束線和-c計數它們。

相關問題