2017-01-05 4 views
0

Я пытаюсь переместить некоторые файлы, содержащие сообщение «Файл не был НАЙДЕН», и я получаю результат, но у меня есть для перемещения всех из них только с 1 строкой кода, на данный момент у меня есть имена файлов, но не могу перейти в другой каталог.Как перенести файлы с определенным сообщением на него в другую папку (Unix Korn Shell)

Я сделал это

mv $(grep "File was not FOUND" FilesToMove/Test* | cut -d ":" -f1) TargetDirectory 

, когда я исполняю только эту строку grep "File was not FOUND" FilesToMove/Test* | cut -d ":" -f1 Я адресности файлы, которые я хочу, но когда я с mv в целевой каталог я получил mv: FilesToMove/Test_file: No such file or directory

Есть ли у вас предложения? Я также попытался с:

grep "File was not FOUND" FilesToMove/Test* | cut -d ":" -f1 | xargs mv -t TargetDirectory

Также не работает, я получаю это:

mv: unknown option -- t usage: mv [-bfhinuv] [-S suff] source target mv [-bfhinuv] [-S suff] source ... directory

любая идея?

+0

Почему вы ожидаете, что 'mv -t' будет работать? Прочтите резюме использования для 'mv' (или' man' page). Вы видите опцию «-t»? Найдите здесь другие 'xargs' Qs, чтобы увидеть некоторые рабочие примеры. Удачи. – shellter

+0

работает без параметров xargs и -t, я прокомментировал ниже. –

ответ

1
mv $(grep -l "File was not FOUND" FilesToMove/Test*) TargetDirectory 
+0

Не работает .... –

+0

Я тестировал с ksh; он работает. Какая ошибка? – gile

+0

'mv: -: Нет такого файла или каталога' –