Я использую bash в Windows (распространяется вместе с msysgit) для архивирования файлов журналов - один архив в день. Проблема в том, что следующий скрипт не работает, и я понятия не имею, почему. Вырезать здесь, чтобы получить часть имени файла, которая соответствует дате написания журнала.
find . -type f -name '*.log' | cut -c3-12 | head -n 5 | xargs -I common printf "%s%s\n" common "*.log" | xargs -I fg tar cvzf hello.tgz fg
Перед последним шагом каждая строка выглядит так - 2014-07-04 * .log
На последнем шаге это дает мне вывод, как это:
tar: 2014-07-01*.log: Cannot stat: No such file or directory
Я подозреваю, что это из-за новой строки в конце, потому что когда я вызываю команду tar вручную, она работает нормально. Есть идеи, что я пропустил? Я прочитал некоторые из подобных ответов, но они, кажется, не применимы в моем случае. Название архива, например, позже я сделаю более информативным.