Сортировка, копирование файла командной строки

Скопирован с моего терминала. , .

dan@Silver:/media/dan/RAID/MUSIC$ grep -r '.mp3' ./ > cp *.mp3 /home/dan/Music/
grep: input file ‘./cp’ is also the output

У меня есть музыкальная коллекция на томе NTFS, которую я хочу сортировать, и переносить на новую настройку Ubuntu. Команды, описанные выше, предназначались для поиска в 6 или 7 справочниках глубины («cp -r» не будет) и копировать ТОЛЬКО те файлы, которые заканчивались на .mp3.

Я понятия не имею, что говорит grep , Любая помощь, доступная новичкам?

1
задан 22 November 2014 в 19:03

1 ответ

Я не уверен, что вы имеете в виду для сортировки, если вы не хотите менять макет каталога, но вот почему он не работает ...

Часть проблемы заключается в том, что с помощью '>' вы перенаправляете вывод команды grep в файл под названием 'cp' вместо того, чтобы использовать канал '|' к команде «cp».

Однако большая проблема заключается в том, что ваша команда grep, вероятно, никогда не возвращается (или, возможно, ничего не возвращает), поскольку вы используете grep -r '.mp3' ./ вместо grep '.mp3' -r ./. Кроме того, я Представьте, что grep, вероятно, ищет .mp3 в содержимом файлов, а не в именах файлов.

try:

cd /media/dan/RAID/MUSIC
find . -name '*.mp3'

, если в нем перечислены все файлы, которые вы хотите скопировать , попробуйте:

find . -name '*.mp3' -exec cp --parents "{}" /home/dan/Music \;

команда --exec запускает команду для каждого файла, сопоставляемого find, --parents сохраняет полный путь к файлу (в противном случае все файлы будут скопированы в / home / dan / Музыка вместо / home / dan / Music / subdir1 и т. Д.), [F7] относится к текущему совпадающему файлу. Я поставил кавычки вокруг него, потому что в аудиофайлах часто есть пробелы. \; - это то, как вы завершаете команду для --exec

. Надеюсь, это поможет. Даже если это не так, я настоятельно рекомендую вам заглянуть в страницу man для поиска и, возможно, xargs, которые являются мощной комбинацией, где вы можете вывести вывод find на xargs

0
ответ дан 24 May 2018 в 01:39
  • 1
    ответ steeldriver, вероятно, лучше, хотя вам обязательно нужно посмотреть страницу руководства, если вы хотите узнать, как это работает – ckot 22 November 2014 в 20:22

Другие вопросы по тегам:

Похожие вопросы: