Рейтинг:1

Конкретные файлы Linux cp из текстового списка файлов в подкаталоги из текстового списка тоже?

флаг sn

Я прошу вашей помощи, чтобы решить мою проблему, потому что я застрял. Объясняю вам ситуацию: я хочу скопировать файлы, путь которых у меня есть в txt-файле в определенные подкаталоги, указанные во втором файле (у меня также есть полный файл csv, включающий эти 2 столбца: имя подкаталогов ($значение1), Путь файла ($значение2))

Я смог автоматически создать подкаталоги с помощью этой команды:

xargs mkdir -p </scripts/repertoires.csv

Я знаю, как скопировать все файлы в один каталог с помощью этой команды:

кот /scripts/fichiers.csv | xargs -I%cp%/папка назначения

Но я не могу скопировать каждую строку, соответствующую файлу в подкаталог, который ему подходит, Чтобы попытаться быть яснее, я хочу скопировать $значение2 в /папке назначения/$значение1

Рейтинг:1
флаг jo

То, как я делал это в прошлом, использует смола в качестве посредника, но я уверен, что есть и другие ответы, более элегантные, чем этот.

Где у нас есть список файлов, отвечающих определенным критериям IE: все файлы в /usr меньше 1M

$ найти /usr -тип f -размер -1M

Что мы хотим скопировать на место /мнт/дст.

Вы можете использовать tar в качестве вектора для упаковки/распаковки данных. IE

$ find /usr -type f -size -1M | tar --files-from=- -c | смолка -xv -C /mnt/dst

Первое смола берет --files-от который ожидает построчный список полных путей к файлам и создает tar-архив на стандартный вывод.

Второй смола переключается на путь назначения с помощью и распаковывает полученный из пайпа tarball.

Это приводит к следующему выводу (при использовании -v во второй команде tar).

usr/lib/grub/i386-pc/fdt.lst
usr/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/__init__.py
usr/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/__init__.py
usr/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py
usr/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py
usr/lib/python3.6/site-packages/pip/operations/__init__.py
usr/lib/python3.6/site-packages/pkg_resources/_vendor/__init__.py
usr/lib/python3.6/site-packages/setuptools/_vendor/__init__.py
usr/lib/python3.6/site-packages/slip/__init__.py
usr/lib/python3.6/site-packages/slip/_wrappers/__init__.py
usr/lib/python3.6/site-packages/asn1crypto/_perf/__init__.py
...
...

Результирующий каталог назначения создает дерево (обрезанное для удобства чтения), которое должно быть тем, что вы ищете.

# дерево -L 3 /mnt/dst
/мнт/дст
âââ usr
    âââ библиотека
    âââ жратва
    âââ node_modules
    âââ python3.6
    âââ lib64
    âââ python3.6
    ââ местный
    ââ доля
    ââ доля
        âââ криптополитика
        ââ док
        âââ Грофф
        âââ microcode_ctl
        ââ мим
        âââ пки
        âââ texlive
        âââ texmf
        âââ вим
        âââ X11

20 каталогов, 0 файлов

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.