私はstrings
抽出を使用し、ディレクトリ間のファイルバージョンを比較しました。
これを再帰的に実行することはできないようです。
各ファイルに使用する方法は次のとおりです。
strings -e l FILENAME.exe | sed -e :a -e '/FileVersion$/N; s/FileVersion\n/FileVersion /; ta' | grep FileVersion | cut -d ' ' -f 2
ファイル名を削除して*に変更すると機能します。ただし、ファイル名ではなくファイルのバージョンのみがわかります。 -F を含めると、文字列のファイル名が提供されます。
ただし、ファイル名とバージョン番号のみを収集するようにSed / Grepをフォーマットする方法は理解できません。
ベストアンサー1
で終わる行を印刷したいように聞こえるFileVersion
ので、問題になります。
strings -f -e l -- *.exe | sed -n '/FileVersion$/{n;p;}'