заменить строку слева направо в строке

Вы можете получить список всех файлов в текущей и подпапках, используя find. | sort -f. Сортировка будет игнорировать регистр, так что файлы с одинаковым именем (без учета регистра )будут находиться рядом друг с другом, например.:

./folder/dir/something/test
./folder/dir/something/TEST

Это должно быть передано сценарию, например. Python, который может сверять каждую строку со следующей/предыдущей, и если есть совпадение, вы можете переименовать файл, добавив в него подстроки или что-то в этом роде. Думаю, это не должно быть слишком сложно решить.

Редактировать:

#!/usr/bin/env python3

import sys

if __name__ == "__main__":
   old_line = ""
   cur_line = ""
   for line in sys.stdin:
      old_line = cur_line
      cur_line = line
      if old_line.lower() == cur_line.lower():
         print("Duplicate found!")
         print("File: {}".format(cur_line))

Я назвал это так:

find../ | sort -f |./rename_files.py
Duplicate found!
File:../c/modern-approach/test

Поскольку в этом каталоге есть второй файл с именем ../c/modern-approach/TEST.

0
17.02.2021, 07:48
0 ответов

Теги

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