透過linux shell查詢大於x畫素的png影象

當你試圖改變網站的設計時,你必須關注文章內容中圖片的寬度。我寫的大部分文章都有眾所周知的大螢幕截圖,所以如果我想增加側邊欄,關鍵是要弄清楚哪些圖片太寬而不能適應新的設計。...

當你試圖改變網站的設計時,你必須關注文章內容中圖片的寬度。我寫的大部分文章都有眾所周知的大螢幕截圖,所以如果我想增加側邊欄,關鍵是要弄清楚哪些圖片太寬而不能適應新的設計。

因為我是一個程式設計師,所以編寫一個小型應用程式來實現這一點對我來說很容易,但這讓我開始思考……為什麼我不能在Linux命令列上實現這一點?

我首先想到的是PNG影象在執行“file”命令時會顯示大小資料:

$ file image3.png image3.png: PNG image data, 613 x 657, 8-bit/color RGBA, non-interlaced

非常有用,因為99%的圖片在這個網站上是PNG格式。因此,現在對我上傳目錄中的所有檔案進行迴圈:

$ for f in *.png;do file $f;done

image.png: PNG image data, 631 x 185, 8-bit/color RGBA, non-interlaced image1.png: PNG image data, 631 x 96, 8-bit/color RGBA, non-interlaced image10.png: PNG image data, 375 x 395, 8-bit/color RGBA, non-interlaced image11.png: PNG image data, 484 x 241, 8-bit/color RGBA, non-interlaced —snipped—

這更有用,但我必須將資料拉入Excel或類似的應用程式才能對資料進行排序,因此我決定使用linux的“cut”命令來拉出width列。

您會注意到-f5引數告訴cut使用第五列,而-d\則在它告訴cut使用空格作為分隔符之後加上一個空格。斜槓\字元是跳脫字元,用於告訴shell將空格用作字元,而不是空白。

$ for f in *.png;do file $f|cut -f5 -d\ ;done

631 631 375 484 —snipped—

不是完全有用的輸出,是嗎?讓我們透過bash-if語句來推動這個過程,然後僅在寬度大於600畫素時顯示file命令的輸出。

注意“file$f | cut…”部分周圍的`(backtick)標記,它表示`中的命令將作為單個輸出處理並輸入if語句,在這裡我們使用-gt(大於)。另外請注意,在方括號[]的兩側需要空格

for f in *.png;do if [ `file $f | cut -f5 -d\ ` -gt 600 ] ; then file $f;fi;done

image.png: PNG image data, 631 x 185, 8-bit/color RGBA, non-interlaced image1.png: PNG image data, 631 x 96, 8-bit/color RGBA, non-interlaced image17.png: PNG image data, 638 x 340, 8-bit/color RGBA, non-interlaced image18.png: PNG image data, 608 x 448, 8-bit/color RGBA, non-interlaced —snipped—

現在我們有一個列表,列出了所有超過600畫素寬的檔案。如果需要複製或移動檔名,可以在末尾調整“file$f”,只需將檔名回送出去:

for f in *.png;do if [ `file $f | cut -f5 -d\ ` -gt 600 ] ; then echo $f;fi;done

image.png image1.png image17.png image18.png —snipped—

Linux shell的功能非常強大!這個解決方案並不是對每個人都實用,但是知道如何使用shell是很好的,這樣您就可以在需要時完成這類任務。

  • 發表於 2021-04-14 11:24
  • 閱讀 ( 16 )
  • 分類:網際網路

你可能感興趣的文章

iphone 6 plus(iphone 6 plus)和索尼xperia z3 plus(sony xperia z3 plus)的區別

...攝。4K超高畫質影片支援高解析度影片(3840 x 2160),可透過MHL 3.0介面在4K電視或投影儀上播放。磁針也被移除,以生產無縫**。 Xperia Z3 Plus擁有最新的高通Snapdragon 810處理器和64位八核處理器,RAM記憶體為3 GB,儲存容量為32 GB。...

  • 發佈於 2020-10-23 16:58
  • 閲讀 ( 44 )

如何在photoshop中將寵物照片變成藝術品

... 在“屬性”選單中,選擇“刪除背景”。 透過單擊層堆疊中的眼睛圖示,關閉背景層上的層可見性。 切換X鍵,直到前景色為黑色。 按B鍵進入畫筆工具。從上面的選單中選擇軟圓形筆...

  • 發佈於 2021-03-10 23:27
  • 閲讀 ( 59 )

3個免費的方法來建立一個零努力快速標誌

...你完成你的標誌,你可以下載一個低解析度的PNG在400 x 400畫素。如果你想要一個高解析度5000 x 5000畫素的版本,你需要成為Squarespace的會員或者支付10美元。 ...

  • 發佈於 2021-03-13 10:33
  • 閲讀 ( 51 )

軟呢帽25已經到了:這裡有什麼變化

...者,需要單獨的軟體(比如Compiz)來進行合成。Wayland還透過隔離應用程式視窗提供了安全改進。這種沙盒在概念上與我們在智慧**和網路瀏覽器上看到的類似。 ...

  • 發佈於 2021-03-16 13:23
  • 閲讀 ( 63 )

2018年facebook圖片大小指南

...象廣告遵循link images的先例,比例為1.9:1。如果你只是想透過產品頁面或部落格文章的連結來推廣你的產品,1200 x 629畫素就可以了。對於carousel廣告,它可以讓你在一個滾動的carousel中執行多達10個影象,堅持1:1的影象比例為1080 x ...

  • 發佈於 2021-03-23 07:58
  • 閲讀 ( 44 )

每個超級使用者都應該知道的5個gmail搜尋技巧

... 1查詢大檔案 ...

  • 發佈於 2021-03-25 22:11
  • 閲讀 ( 36 )

如何在linux終端上操作影象

... 下面介紹如何使用Linux convert工具,它允許您透過命令列對終端執行所有這些操作,以及更多操作。 ...

  • 發佈於 2021-03-27 05:34
  • 閲讀 ( 65 )

如何製作向量影象:5個線上工具

...光柵影象檔案轉換為向量檔案的選項。載入影象後,可以透過單擊“影象”>“向量化點陣圖”對其進行向量化。 ...

  • 發佈於 2021-03-29 05:30
  • 閲讀 ( 55 )

如何使用受限shell來限制linux使用者可以做什麼

...mkdir建立目標目錄以及它需要建立的任何父目錄。因此,透過建立“/home/minnie/bin”目錄,我們可以同時建立“/home/minnie”目錄。 sudo useradd minnie -s /bin/rbash sudo passwd minnie sudo mkdir -p /home/minnie/bin 當敏妮登入時,她將在一個受限的...

  • 發佈於 2021-03-31 10:57
  • 閲讀 ( 55 )

如何使用tesseract從linux命令列執行ocr

...學字元識別 光學字元識別(OCR)是一種在影象中觀察和查詢單詞,然後將其提取為可編輯文字的能力。對於人類來說,這項簡單的任務對於計算機來說是非常困難的。至少可以說,早期的努力是笨拙的。如果字型或大小不符合OC...

  • 發佈於 2021-04-01 21:39
  • 閲讀 ( 46 )
jxdfrnb
jxdfrnb

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦