Как переместить несколько файлов в несколько папок в Linux?

Наконец-то я понял --.

Я добавил файл сценария zone-for-p2p1в каталог /etc/network/if-up.d.

zone-for-p2p1содержимое файла сценария:

#!/bin/sh
#
# sets zone for p2p1 adapter to "trusted"
# to find out adapter name run "nmcli con show | grep p2p1"
#
nmcli con mod "netplan-p2p1" connection.zone trusted

Затем я также убедился, что файл имеет разрешение на выполнение:

sudo chmod +x /etc/network/if-up.d/zone-for-p2p1

Теперь при перезагрузке скрипт назначает соответствующую зону адаптеру. Этот пост помог мне добавить скрипт.

0
28.02.2021, 13:40
2 ответа

Если я вас правильно понял, файл с именами не нужен, так как они уже есть в именах файлов . Попробуйте это:

for i in *_R{1,2}.fastq.gz; do 
  # use `cp` to be sure it works
  cp "$i" /path/toAnalisys/"${i%_*}"
done
2
18.03.2021, 22:27

Предполагая, что Samples.txt содержит Sample _от 1 до 3 по одному на строку, мы можем настроить команду xargs для вызова mv

tree -F
< Samples.txt \
xargs -I {} -t mv -t Analysis/{}/ \
       Raw_WGS/{}_R1.fastq.gz  \
       Raw_WGS/{}_R2.fastq.gz ;
tree -F

Результаты:

Before move...
.
├── Analysis/
│   ├── Sample_1/
│   ├── Sample_2/
│   ├── Sample_3/
│   ├── Sample_4/
│   └── Sample_5/
└── Raw_WGS/
    ├── Sample_1_R1.fastq.gz
    ├── Sample_1_R2.fastq.gz
    ├── Sample_2_R1.fastq.gz
    ├── Sample_2_R2.fastq.gz
    ├── Sample_3_R1.fastq.gz
    └── Sample_3_R2.fastq.gz

After move...
.
├── Analysis/
│   ├── Sample_1/
│   │   ├── Sample_1_R1.fastq.gz
│   │   └── Sample_1_R2.fastq.gz
│   ├── Sample_2/
│   │   ├── Sample_2_R1.fastq.gz
│   │   └── Sample_2_R2.fastq.gz
│   ├── Sample_3/
│   │   ├── Sample_3_R1.fastq.gz
│   │   └── Sample_3_R2.fastq.gz
│   ├── Sample_4/
│   └── Sample_5/
└── Raw_WGS/
1
18.03.2021, 22:27

Теги

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