Я просто подумал, что нашел свое решение, потому что команда работает в моем тестовом каталоге.
grep -H -e 'author="[^"].*' *.xml | cut -d: -f1 | xargs -I '{}' mv {} mydir/.
Но с помощью команды в каталоге, отличном от теста, команда не сработала: это сообщение об ошибке:
grep: unknown option -- O Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information.
Даже это не сработало:
$ grep -H author *.xml
или это:
$ grep -H 'author' *.xml
(такое же сообщение об ошибке)
Я подозреваю, что это как-то связано с именами файлов или количеством файлов. У меня почти 3000 файлов в не-тестовом каталоге и только 20 в моем тестовом каталоге. В обоих каталогах почти все имена файлов содержат пробелы и "-".
Еще немного информации:
- Я использую Cygwin.
- Мне не разрешено изменять имена файлов