Linux: как заменить имена файлов из файла, содержащего оригинальные шаблоны и новые шаблоны? - PullRequest
0 голосов
/ 28 ноября 2018

, если у вас есть 4 файла с именами SampleA.txt, SampleB.txt Samble25.txt и SampleA21.txt.И что у вас есть текстовый файл с разделителями табуляции, в котором один столбец имеет исходный шаблон (SampleA, SampleB, Sample25, SampleA21), а другой столбец с соответствующим новым шаблоном (Community1, Community2, Community3, Community4),

- этоЕсть ли способ изменить заголовок файла с исходного шаблона (первый столбец) на новый шаблон (второй столбец)?

1 Ответ

0 голосов
/ 29 ноября 2018

только что быстро взломал Python, может быть, что-то вроде этого было бы полезно:

#!/bin/env python3

from sys import argv
from pathlib import Path
import csv

with open('rename-pats.txt') as fd:
    inp = csv.reader(fd, delimiter='\t')
    patterns = []
    for src, dst in inp:
        patterns.append((src, dst))

for path in argv[1:]:
    path = Path(path)
    name = path.name
    for src, dst in patterns:
        name = name.replace(src, dst)
    if path.name != name:
        path.rename(path.with_name(name))

опирается на файл с именем rename-pats.txt, содержащий что-то вроде:

SampleA Community1
SampleB Community2
Sample25    Community3
SampleA21   Community4

, которыйтогда будет работать как:

python3 mmv.py *.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...