2011-01-04 13 views
1

2つの引数をとるスクリプトを作成しようとしています。最初のファイルにはファイル拡張子が含まれていて、2つ目はディレクトリです。awkのディレクトリ名の問題

私のスクリプトは、その拡張子がファイル内に存在するファイルをそのディレクトリに移動します。

これは私のスクリプトです:

BEGIN{ 
} 
{ 
file_ext = $1 
folder = $2 
isexist = "[ -e " $1 " ]" 

if((system(isexist)) != 0) 
{ 
    getline < file_ext 
    system("find *." $0" -exec mv {} " folder " \;") 
    next 
} 
} 
END{ 
} 

しかし、私はシェルでスクリプトを呼び出すときに、私はこのエラーを取得しています:

MV: `koko.cpp」の後に先のファイルオペランドが欠落し

フォルダ名を直接入力するとうまく動作しますが、引数で渡すと機能しません、なぜですか?

+0

問題が何でありますか? –

答えて

2

コマンドライン引数はARGV配列を介してアクセスされています

BEGIN { 
    # "pop" the directory name off the arguments list 
    folder = ARGV[2] 
    ARGV[2] = "" 
} 
{ 
    # then process the "file_ext" file 
    system("find . -name \\*." $0 " -exec mv {} " folder " \\;") 
} 
関連する問題