Найдите index. html files & Переименуйте с именем папки и переместите файл на уровень выше - PullRequest
0 голосов
/ 06 мая 2020

Небольшая помощь в решении рабочего процесса с помощью сценария оболочки с использованием команды find.

  1. Поиск всех файлов index. html в каждой папке.

    Мы можем использовать это с командой find для этого.

    find ./ -type f -name 'index.html' 
    
  2. Переименование файла index. html с именами папок.

  3. После переименования файлов я хотел переместить файлы на один уровень вверх.

Я застрял при переименовании и перемещении файлов на один уровень вверх.

Так как у меня более 100 тыс. Файлов, Xargs мне пригодится.

Вот код, который у меня есть на данный момент

find ./ -type f -name 'index.html' | xargs -P 4 

Любая помощь в переименовании файлов index. html и перемещении файлов на один уровень вверх?

1 Ответ

0 голосов
/ 07 мая 2020

Вместо xargs вы можете использовать find -exe c. Внутри вы можете запустить небольшой sh -скрипт:

find . -mindepth 2 -type f -name 'index.html' -exec sh -c '
    d="$(dirname "$1")";
    mv "$1" "$d/../$(basename "$d").html";
    rmdir "$d";
' find-sh {} \;

Получил помощь с форума Askubuntu для этого :)

Ссылка: https://askubuntu.com/questions/1236564/find-index-html-files-rename-with-folder-name-and-move-file-a-level-up

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