awk中目录名称的问题

时间:2011-01-04 08:47:14

标签: shell awk

我正在尝试编写一个带有2个参数的脚本:第一个文件包含一些文件扩展名,第二个文件包含一个目录。

我的脚本将扩展名存在的文件移动到扩展名的文件中。

这是我的剧本:

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

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

但是当我在shell中调用脚本时,我收到了这个错误:

  

mv:在`koko.cpp'

之后缺少目标文件操作数

当我直接输入文件夹名称时,它工作正常,但是当我通过参数传递它时它不起作用,为什么?

1 个答案:

答案 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 " \\;") 
}