Perl позволяет Вам сделать часть своего регулярного выражения нечувствительной к регистру при помощи (? я:) модификатор шаблона.
современные regex разновидности позволяют Вам применять модификаторы только к части регулярного выражения. Если Вы вставляете модификатор (? изм) посреди regex, модификатор только относится к части regex направо от модификатора. Можно выключить режимы путем предшествования им со знаком "минус". Все режимы после знака "минус" будут выключены. Например, (? изм), включает нечувствительность к регистру и выключает и однострочный режим и многострочный режим.
Не все regex разновидности поддерживают это. JavaScript и Python применяют все модификаторы режима ко всему регулярному выражению. Они не поддерживают (?-ismx) синтаксис, начиная с выключения опции бессмыслен, когда модификаторы режима относятся к целым регулярным выражениям. Все опции прочь по умолчанию.
можно быстро протестировать, как regex разновидность Вы используете модификаторы режима дескрипторов. regex (? i) te (?-i), Св. должен соответствовать тесту и Тесту, но не тесту или ТЕСТУ.
Вы можете сделать это:
cp `cat list.txt` new-folder/
Обратите внимание, что вам следует избегать использования пробелов в именах файлов при использовании этого (в этом случае потребуется другое решение).
Обратные кавычки выполняются команду cat list.txt
и используйте вывод этой команды как часть командной строки для cp
. Новые строки в выводе cat
заменяются пробелами перед подстановкой командной строки.
Если вы хотите сохранить структуру каталогов, используйте один из них (при условии, что GNU tar):
cpio -pvdm /destination <list.txt
tar -cf - -F list.txt | tar -C /destination -x
В обоих случаях конечный результат таков: / destination добавляется к именам файлов. в list.txt.
use a loop
while read -r line
do
cp "$line" /destination
done <"file"
цикл:
dest="<destination folder>" #keep the quotes
for i in `cat < list.txt` #loop each line of list.txt
do
cp $i $dest #in each loop copy $i, e/a line of list.txt to $dest
echo "Done."
done
Протестировано. Убедитесь, что "./list.txt" существует, в противном случае введите абсолютный путь вручную. :)