Небольшая помощь в решении рабочего процесса с помощью сценария оболочки с помощью команды find.
Мы можем использовать это с командой find для этого.
find ./ -type f -name 'index.html'
I» Я застрял при переименовании и перемещении файлов на один уровень вверх.
Поскольку у меня есть более 1 lakh файлов, Xargs пригодится для этого.
Вот код, который у меня есть.
find ./ -type f -name 'index.html' | xargs -P 4
├── dc
│ ├── adams-morgan
│ │ ├── car-donation
│ │ │ └── index.html
│ │ ├── feed.rss
│ │ ├── index.html
│ │ ├── junk-car
│ │ │ └── index.html
│ │ └── sitemap.xml
│ ├── american-university
│ │ ├── car-donation
│ │ │ └── index.html
│ │ ├── feed.rss
│ │ ├── index.html
│ │ ├── junk-car
│ │ │ └── index.html
│ │ └── sitemap.xml
Помогите ли вы переименовать файлы index.html и переместить файлы на один уровень вверх?
Спасибо заранее Суреш
Вместо xargs
вы можете использовать find -exec
. Внутри вы можете запустить небольшой sh
-Script:
find . -mindepth 2 -type f -name 'index.html' -exec sh -c '
d="$(dirname "$1")";
mv "$1" "$d/../$(basename "$d").html";
rmdir "$d";
' find-sh {} \;