команда для поиска файлов в папке и перемещения файлов в другое место

I have a text file which has list of file names, I want to search these file names in a folder which has thousands of files and move the matching files to different location on linux.

Может ли кто-нибудь помочь мне с командой сделать это.

Ниже приведен код, который я использую

#!/bin/bash
file="/home/BILEKJ/Reprocess/data.txt"
while IFS= read -r line
do
    mv "/home/BILEKJ/Reprocess/EDI855/$line" "/home/BILEKJ/Reprocess/Final855" >/dev/null 2>&1
done <"$file"

person user2231076    schedule 21.06.2017    source источник
comment
насколько велик этот список имен файлов?   -  person RomanPerekhrest    schedule 21.06.2017
comment
В списке около 4000 имен файлов.   -  person user2231076    schedule 21.06.2017


Ответы (1)


попробуйте что-то вроде этого:

file="data.txt"
while IFS= read -r line
do
        mv "/your/path/$line"  "/dest/path" >/dev/null 2>&1
done <"$file"
person Kent    schedule 21.06.2017
comment
Это не работает, как read знает, из какого файла считывать данные в приведенной выше команде - person user2231076; 21.06.2017
comment
@user2231076 user2231076 ..... см. 1-ю строку в блоке кода, "data.txt" был просто примером. - person Kent; 21.06.2017
comment
Да, я использовал имя входного файла как data.txt и не работал - person user2231076; 21.06.2017
comment
@user2231076 user2231076 не работает, не очень хорошее описание, покажите пару строк из вашего файла. - person Kent; 21.06.2017
comment
#!/bin/bash while IFS='' read -r line do mv /cygdrive/c/cygwin64/home/BILEKJ/Reprocess/EDI855/$line /cygdrive/c/cygwin64/home/BILEKJ/Reprocess/Final855 ›/ dev/null 2›&1 done Я запускаю скрипт ./NewMove.sh data.txt - person user2231076; 21.06.2017
comment
@ user2231076 это не сработает, вы не запускали мой скрипт. вы изменили коды и неправильно указали параметр. Вы тестируете сначала изменение имени файла в кодах, переменную file. - person Kent; 22.06.2017
comment
Привет, Кент, Спасибо за помощь. Я изменил код и добавил файловую переменную file = 'data.txt'. Я не указал полный путь, так как запускаю скрипт в том же каталоге. Я получаю строку 5: синтаксическая ошибка рядом с неожиданным токеном «сделано». - person user2231076; 22.06.2017
comment
Мне удалось удалить все ошибки, скрипт работает нормально, но файлы на самом деле не перемещаются в место назначения. Я обновил код выше - person user2231076; 22.06.2017