[英]Linux command/script replacing folders/directories
我在ubuntu機器上安裝了以下文件夾:
(方括號表示文件夾)
[main]
|
|--- [old]
| |
| |--- [thequick]
| | |
| | |--- [aaaa] --- some files
| | |--- [bbbb] --- some files
| | |--- [cccc] --- some files
| | |--- [dddd] --- some files
| | |--- some files
| |
| |--- [brownfox]
| | |
| | |--- [aaaa] --- some files
| | |--- [bbbb] --- some files
| | |--- [cccc] --- some files
| | |--- [dddd] --- some files
| | |--- some files
| |--- ...
| |
| |--- [lazydog]
| |
| |--- [aaaa] --- some files
| |--- [bbbb] --- some files
| |--- [cccc] --- some files
| |--- [dddd] --- some files
| |--- some files
|
|--- [new]
|
|--- [thequick]
| |
| |--- [aaaa] --- some files
| |--- [bbbb] --- some files
| |--- some files
|
|--- [brownfox]
| |
| |--- [aaaa] --- some files
| |--- [bbbb] --- some files
| |--- some files
|--- ...
|
|--- [lazydog]
|
|--- [aaaa] --- some files
|--- [bbbb] --- some files
|--- some files
我需要找到一種快速方法,將所有舊的 [aaaa]和[bbbb]文件夾替換為它們各自的新 [aaaa]和[bbbb]文件夾, 而又不影響任何其他舊的東西。
你可以做:
cd /main/old
find . -type d \( -name 'aaaa' -o -name '-bbbb' \) -exec cp -RfP {} ../new/{} \;
這是明確且非常標准的
cd main/old
for dir in `find . \( -name aaaa -o -name bbbb \) -a -type d`
do
(
cd ..
if [ -d new/$dir ]
then
rm -rf old/$dir
mv new/$dir old/$dir
fi
)
done
cd ../..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.