2014-04-24 24 views
0

我試圖通過將它們匹配到一個正則表達式來刪除一些圖像,現在我用兩種類似的方法來刪除這些圖像,包括將管道findrm。首先我找到了所有希望刪除的圖像:`find`聲稱它刪除了文件,`ls`聲稱它沒有

find . -type f -regex ".+-[0-9]+x[0-9]+\.jpg" 

找到了很多結果。

所以我試圖刪除它們像這樣:

find . -type f -regex ".+-[0-9]+x[0-9]+\.jpg" -exec rm -rf {} \; 

然後是這樣的:

find . -type f -regex ".+-[0-9]+x[0-9]+\.jpg" | xargs rm 

都嘗試後,find命令不再看到,我想刪除的影像(當我再次運行第一個命令),但ls看到他們,鸚鵡螺也是如此。我應該運行某種提交以實際從硬盤中刪除它們嗎?

我試着搜索rm手冊頁的「提交」和find手冊頁爲「刪除」,但沒有發現任何重要的內容。

+0

你能展示出這些圖像的'ls'嗎? – anubhava

+0

那麼有很多,這裏的最後幾行: '黃色區域 - 埃特納-36x36.png 黃色區域 - 埃特納-615x250.png 黃色區域 - etna.png 尤里 - Beletsky-comets_labels_1362113263.jpg ZANE-115x115.png ZANE-150x150.png ZANE-195x110.png ZANE-300x195.png ZANE-36x36.png ZANE-610x250.png 贊恩-AIRS1-.JPG ZANE-cimss.jpg ZANE-JTWC-forecast-track-115x115.png ZANE-JTWC-forecast-track-150x150.png ZANE-JTWC-forecast-track-195x110.png ZANE-JTWC-foreca ST-軌道300x170.png ZANE-JTWC-預測軌道-36x36.png ZANE-JTWC-預測軌道-610x250.png ZANE-JTWC-預測-track.png ZANE-MTSAT-vis0.jpg ZANE.png' – 3Nex

+0

我不這麼認爲,當我運行原始的'find。 -type f -regex「。+ - [0-9] + x [0-9] + \。jpg」'在備份文件夾中找到具有多個數字的圖像(加號表示該數字,似乎工作) – 3Nex

回答

1

你的正則表達式不匹配這些文件名...

$ touch yellow-zone-etna-36x36.png yellow-zone-etna-615x250.png 
$ find . -type f -regex ".+-[0-9]+x[0-9]+\.jpg" 
$ # no output 

,因爲你有PNG圖片,你要找的JPEG文件,你還必須沒有正則表達式匹配任何JPEG文件。

+0

哦,是啊...廢話,這是迄今爲止我最糟糕的stackoverflow問題...謝謝你。 – 3Nex

相關問題