Bash Kullanımı
Diyelim ki bir üst dizine rastgele yerleştirilmiş bir sürü dosyam var ~/src
, belirli bir sonekle eşleşen tüm dosyaları almak ve bunları bir ~/dist
dizine taşımak (veya kopyalamak) istiyorum .
Bu amaçla tüm dosya adlarının bu adlandırma kuralına sahip olduğunu varsayalım:
<filename_prefix>.<filename_suffix>
Bu belirli bir tüm dosyaları almak filename_suffix
ve bir dist klasörüne koymak için hızlı bir yol olduğunu öğrendim :
mkdir ~/dst
find source -name "*.xxx" -exec mv -i {} -t ~/dst \;
Şimdi daha ileri bir adım ... nasıl bu durumda, find çıkışını kullanabilirsiniz filename
, ve kullanımı filename_prefix
aynı adlı bir dizin oluşturmak için ~/dist
uygun dizine o önek ile tüm dosya ve daha sonra hareket (veya kopyalama)?
mkdir ~/dst
find source -name "*.xrt,*.ini,*.moo" -exec mv -i {} -t ~/dst \;
Aslında, böyle bir yapı oluşturmak için yukarıdaki komutu nasıl değiştirebilirim (veya belki de başka bir komut kullanabilirim)
(ÇIKTI)
~/dist/people/people.xrt
~/dist/games/games.xrt
~/dist/games/games.moo
~/dist/games/games.ini
~/dist/monkeys/monkeys.ini
~/dist/monkeys/monkeys.xrt
böyle bir dizin ağacından mı?
(GİRİŞ)
~/src/xrt/people.xrt
~/src/xrt/games.xrt
~/src/conf/games.ini
~/src/pack/monkeys.xrt
~/src/e344/games.moo
~/src/e344/monkeys.moo
~/src/en-us/monkeys.ini