bash

2012-08-30 33 views
8

içinde başka bir dosya ile tüm bir dosyayı değiştirin Bash betiğini kullanarak bir satırı nasıl değiştirileceğini öğrendim ama bir dosyanın tamamını başka bir klasörle başka bir klasörle nasıl değiştireceğimi öğrenmek istiyorum. Mümkün mü??bash

cevap

10
cp -f [oringinal file] [new file] 

kopyalar orijinal dosya ve (dolayısıyla -f "güç" anlamına gelir), hedef dosyanın üzerine yazar.

+1

Bunu işlemek mümkün değildi. Bir şey mi özledim mi bitti mi bitti mi ??? –

+0

Yazmakta olduğunuz komut nedir? Köşeli parantezlere ihtiyacınız yoktur. –

+0

bir yan not olarak, bu sudo – hanzo2001

0

bu komutları kullanın: Dosya2 yoksa

mv file1 file2 

ardından file1 yeniden adlandırıldı dosya2. Dosya2 varsa, içeriği dosya1'in içeriği ile değiştirilir. "-i" (interaktif) seçeneği belirtildiğinde beri Dosya2 varsa o Dosya1 içeriği yazılır önce ancak yukarıdaki gibi

mv -i file1 file2 

, kullanıcı istenir.

mv file1 file2 file3 dir1 

dosyaları dosya1, dosya2, dizin dir1 için dosya3 taşınır. Dir1 olmalı veya mv hata ile çıkacaktır.

mv dir1 dir2 

Eğer dir2 yoksa, dir1 dir2 olarak yeniden adlandırılır. Dir2 varsa, dizin dir1 dizin dizininde oluşturulur. durumda

+1

ile bittiğinde özgün dosyanın modunu ve sahipliğini korur. Bu tam olarak OP'nin istediği şeyi yapmaz - dosyaları taşır/yeniden adlandırır, kopyalar/bunların üzerine yazmaz ... – Christian

+0

HI @Christian için teşekkürler senin yorumun. Lütfen daha ayrıntılı çalışabilir misiniz? Bir dosyayı yeniden adlandırmanın neden değiştirilmediğini anlamak istiyorum. Örneğin, file1 ile dosya1'i "değiştirmek" istiyorum, neden yapamıyorum: mv file2 file1? Önce dosya1 kaldırılırsa bu komut değiştirilir mi? – user1747935

+0

Bir dosyanın yeniden adlandırılması, orijinal konumda bulunmayacağı anlamına gelir - OP'nin istediği şey, herhangi bir yan etki olmadan bir dosyanın üzerine yazmaktır. – Christian

4

sadece dosyanın içeriği

cat /first/file/same_name > /second/file/same_name 

Bu birinci gelen içerikle ikinci dosyanın tüm içeriğin üzerine yazacak denemek kopyalamaya çalışıyorsunuz. Ancak, sahip, grup ve ikinci dosyanın izinleri değişmez.