ディレクトリとサブディレクトリの下のファイル形式の一覧を確認する方法

ディレクトリとサブディレクトリの下のファイル形式の一覧を確認する方法

CentOSのコマンドを使用して、ディレクトリとサブディレクトリのファイル形式をどのように理解できますか?

出力は次のようになります。

.inc, .inp, .odb, .a3db, .......

ベストアンサー1

独自のファイル拡張子のリストを取得します(これはいいえUnixでは「ファイル形式」を表します)、次のことができます。

find . -type f -name '*.*' -exec sh -c '
    for pathname do
        printf "%s\n" "${pathname##*.}"
    done' sh {} + | sort -u

名前に1つ以上のドットが含まれている現在のディレクトリ内または下のすべての一般的なファイルを見つけます。これらのパス名の場合、最後のポイントまですべてを削除し、残りの文字列を印刷する短いスクリプトが実行されます。 sort -u次に、重複したアイテムを削除しながら並べ替えます。

これは、ファイル拡張子に改行文字が含まれていないと仮定します。

これを1行のカンマ区切りリストに配置するには、出力をパイプしますtr '\n' ','(これを行うと、改行ではなく行末にカンマが生成されます)。

出力にドットを含めるには、printfフォーマット文字列をからに%s\n変更します.%s\n


Unixには、通常のファイル、ディレクトリ、名前付きパイプ、文字、ブロック特殊ファイルなどのファイル形式があります。ただし、これらのタイプはファイル名で区別されません。

おすすめ記事