Ошибка при попытке вызова find из perl

use warnings; use File::Find; my $srceDir = "//mnt/Share_Drive/Verizon PM&T/Capture Files/"; opendir(DIR, $srceDir) or die "Can't open $srceDir: $!"; my @files = (find -type f -newermt "12 Feb 2013", $srceDir); closedir(DIR); 

Я могу запустить команду find с параметром -newermt в Linux очень хорошо, но когда я положил ее в perl-скрипт, я получил ошибки ниже, не могли бы вы помочь? благодаря

 String found where operator expected at ./queryAlm.pl line 11, near "newermt "12 Feb 2013"" (Do you need to predeclare newermt?) syntax error at ./queryAlm.pl line 11, near "newermt "12 Feb 2013"" 

  • Как обнаружить и удалить символ новой строки в столбце в файле csv?
  • Использование регулярного выражения для проверки того, работает ли процесс UNIX
  • Как подсчитать количество вхождений числа, большего чем x, из каждого столбца?
  • Как преобразовать поля фиксированной длины в файл в пространство с разделителями
  • Поиск, вставка, перемещение и вставка
  • Текстовые манипуляции: извлеките все внутри скобок
  • df -k + как совместить строку корневого тома
  • Как удалить несколько пустых строк из файла?
  • One Solution collect form web for “Ошибка при попытке вызова find из perl”

    В модуле File::Find perl почти нет действий с командой find . См. perldoc File::Find как его использовать.

    Как указывает Йорданм, вы можете использовать find2perl чтобы помочь вам написать этот код perl , но обратите внимание, что find2perl распознает только стандартный синтаксис find , поэтому обычно не GNU-расширения, такие как -newermt . Вам придется писать код perl самостоятельно (вызов stat() для файла и сравнить mtime с POSIX::mktime(0,0,0,12,2,113) ).

    Чтобы запустить команду find , вам не нужен модуль File::Find , вы можете просто выполнить:

     my $srceDir = "//mnt/Share_Drive/Verizon PM&T/Capture Files/"; my @find_cmd = ("find", $srceDir, "-type", "f", "-newermt", "12 Feb 2013", "-print0"); open FIND, "-|", @find_cmd; $/ = "\0"; my @files = <FIND>; my $ret = close FIND or warn $! ? "Error closing find pipe: $!" : "find exited with non-zero exit status: $?"; 
    Interesting Posts

    Ищете способ превратить несколько команд с одним и тем же параметром в один лайнер

    awk + как печатать каждую секцию строки (IP) после первого имени хоста

    Как отобразить имя текущего Virtualenv?

    как управлять несколькими библиотеками в одной и той же Linux-системе?

    как добавить файлы из папки в архив вместо самих папок?

    Безопасность SMB и SFTP

    почему bash increment: `n = 0; ((n ++));` return error?

    Давать / var / www файлы доступа к www-данным и моему пользователю?

    Сценарий Bash, который может направлять поток stdin в программу

    Как я могу сделать перенос .muttrc переносимым на старые машины, несмотря на «неизвестную переменную»,

    SMTP Auth – SASL на Dovecot, Postfix и CentOS 6.2 (и Open-Xchange)

    Где я могу найти информацию о параметрах драйвера Linux?

    efibootmgr: что, если я удалю все записи без руководства?

    Источник Bash – выберите правильную функцию, когда два источника файлов имеют одинаковое имя функции?

    add-apt-repository вызывает ошибку Python

    Linux и Unix - лучшая ОС в мире.