проблема с именем каталога в awk - PullRequest
1 голос
/ 04 января 2011

Я пытаюсь написать скрипт, который принимает 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{
}

Но когда я вызываю скрипт в оболочке, я получаю эту ошибку:

mv: отсутствует операнд файла назначения после `koko.cpp '

Когда я ставлю имя папки напрямую, оно работает нормально, но когда я передаю его по аргументу, оно не работает, почему?

1 Ответ

2 голосов
/ 04 января 2011

Аргументы командной строки доступны через массив 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 " \\;") 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...