Linuxのfile commandで欲しいものだけprintするには。あと、printしたものでフィルターをかけるにはどうしたら良いでしょう？


Linux初心者です。  
Terminalでたくさんの画像ファイルがあるディレクトリまでいき、そこにある.pngファイルの名前とサイズだけを出力するにはどうしたら良いでしょう？  
より具体的には：

[code]

    #!/bin/sh
    
    for f in *.png; do file $f; done >> result.txt
    
[/code]

上記のコードを走らせると

[code]

    img1.png: PNG image data, 1406 x 248, 8-bit/color RGBA, non-interlaced
    img2.png: PNG image data, 2048 x 1556, 8-bit/color RGBA, non-interlaced
    img3.png: PNG image data, 977 x 535, 8-bit/color RGBA, non-interlaced
    ....
    
[/code]

のような出力値がresult.txtにセーブされます。この時、画像の名前とサイズだけが欲しいので

[code]

    img1.png: 1406 x 248
    img2.png: 2048 x 1556
    img3.png: 2048 x 1556
    ....
    
[/code]

このようなフォーマットにしたいのです。  
あと特定のサイズのものだけ保存するにはどうしたらいいかもご存じでしたら教えてください。例えば2048 x
1556のサイズのものだけを出力してセーブしたいので、img1.pngは出力せずに

[code]

    img2.png: 2048 x 1556
    img3.png: 2048 x 1556
    ....
    
[/code]

のような形にしたいのです。どうすれば良いでしょうか？教えていただければ幸いです。




> そこにある.pngファイルの名前とサイズだけを出力する
[code]

    file *.png | awk -F'[,:] *' '{print $1 ": " $3}'
    
[/code]

ImageMagick がインストールされている場合

[code]

    identify -format '%f: %w x %h\n' *.png
    
[/code]

> 特定のサイズのものだけ保存する … 例えば2048 x 1556のサイズのものだけを出力してセーブしたい
[code]

    file *.png | awk -F'[,:] *' '$3=="2048 x 1556"{print $1 ": " $3}' > result.txt
    
[/code]

ImageMagick がインストールされている場合

[code]

    identify -format '%f: %w x %h\n' *.png | grep -E ': 2048 x 1556$' > result.txt
    
[/code]




> そこにある.pngファイルの名前とサイズだけを出力する
[code]

    file *.png | awk -F'[,:] *' '{print $1 ": " $3}'
    
[/code]

ImageMagick がインストールされている場合

[code]

    identify -format '%f: %w x %h\n' *.png
    
[/code]

> 特定のサイズのものだけ保存する … 例えば2048 x 1556のサイズのものだけを出力してセーブしたい
[code]

    file *.png | awk -F'[,:] *' '$3=="2048 x 1556"{print $1 ": " $3}' > result.txt
    
[/code]

ImageMagick がインストールされている場合

[code]

    identify -format '%f: %w x %h\n' *.png | grep -E ': 2048 x 1556$' > result.txt
    
[/code]

