Linuxでファイル拡張子を確認する方法
Linuxでは以下を使ってファイルの拡張子を見分けます:
- ワイルドカードを利用する:シェルワイルドカード(例:*)を利用してファイル名を、[.と]を利用して拡張子と照合します.例として、ファイルの拡張子が.txtかどうかの判別にはコマンドif [[ “$filename” == *.txt ]]を利用します.
- basenameコマンドでファイルのベース名(パスを除く)を取得し、grepコマンドでサフィックスを照合します。たとえば、ファイルのサフィックスが「.txt」かどうかを判断するには、次のコマンドを使用します。if basename “$filename” | grep -q ‘\.txt$’
- シェルの文字列スライス機能を使ってファイルの拡張子を抜き出し、判定できる。たとえば、ファイルの拡張子が「txtかどうか判定するには「if [[ “${filename##*.}” == “txt” ]]」コマンドを使える。
ファイル名は拡張子判定の基準として用いますが、ファイルそのものに拡張子がなかったり、拡張子が内容と異なる場合は判定結果が正しくならないことがあります。