1

現在のディレクトリ内のディレクトリである引数を受け取り、そのディレクトリを参照するスクリプトを作成するのに助けが必要です。

見つかった場合、それは and ディレクトリであり、スクリプトは次の拡張子を追加します。.aaa

pdfただし、 、 またはのファイルが見つかった場合はzipmp3次の拡張子を追加する必要があります。.bbb

ファイルにはまだ拡張子がないと仮定します

例:

ディレクトリ hello が見つかった場合は、hello.aaa に変更し、pdf ファイル名 myfile が見つかった場合は myfile.pdf に変更します。

case...inまたは何か他のものを使用する必要があるかどうかはわかりません:

#!/bin/sh
for dir in "$@"; do
    for file in "$dir"/*;
    do    
        if [[ -d $file ]]
        then
            ext=dir
        else
            file *
            if ???????? then ext=pdf; # am not sure how to set the condition so that if teh file found is pdf to add the extension PDF.
            else
                if ???????? ext=zip # same thing if teh file found is zip 
                else
                    if ?????? ext=mp3 # samething if the file found is mp3

    done
done
4

1 に答える 1

0
#!/bin/sh
for dir in "$@"; do
    for file in "$dir"/*; do
        # protect against empty dirs - the shell just passes a
        # literal asterisk along in this case
        case $file in
        "$dir/*")
             continue
             ;;
        esac
        if [ -d "$file" ]; then
            ext=aaa
            continue
        fi
        case $(file "$file") in
        "gzip compressed"*)
            ext=gzip
            ;;
        "whatever file(1) says for PDFs")
            ext=pdf
            ;;
        "MP3"*)
            ext=mp3
            ;;
        # et cetera
        esac
    done
done
于 2013-02-21T03:14:59.180 に答える