2016-03-28 23 views
0

Sed yardımcı programını kullanarak bir metin dosyasından ilk iki karakteri kaldırmak istiyorum. Bunu yapmak istiyorum (yerinde).

Ben aşağıdaki adımları deneyin ama, çalışmıyor:

$ sed -i 's/.{2}//' C:/Users/User/Desktop/text1.txt 
$ sed -i -e 's/.{2}//' C:/Users/User/Desktop/text1.txt 
$ sed -i'' 's/.{2}//' C:/Users/User/Desktop/text1.txt 

Ben yedek istiyorsanız çalışır:

sed -i.bak -r 's/.{2}//' C:/Users/User/Desktop/text1.txt 

veya başka dosyada değiştirin:

$ sed -r 's/.{2}//' C:/Users/User/Desktop/text1.txt > C:/Users/User/Desktop/text2.txt 

Yazdığım varsa:

$ sed -i'' 

I got:

-i[SUFFIX], --in-place[=SUFFIX] 
       edit files in place (makes backup if SUFFIX supplied) 

Ne [sonek] olmalıdır?

Not: Ben yedek orijinal dosya üzerinde yapılacak ve bir yedek dosyası var sevmiyorum istiyorum. Teşekkürler

+0

Sonek belirtirseniz, dosyayı düzenlemeden önce yedeklemenizi sağlar ve sağladığınız dizeyle yedek dosyasının adını ekler. SUFFIX sağlandığında – nickb

+0

yedekleme yapar. Son ekinde ne olması gerektiği cevabı bu mu? - Eğer bir sonek sağladıysanız, 'sed -i'SUFFIX' 'bir' 'SUFFIX' ' – ikrabbe

+0

ile bir yedekleme dosyası yaratacaktır Sed uygulanmasına bağlı olarak' -i '' eğer bir "yedekleme" oluşturursa, yıkıcı olabilir sonek olmadan dosya ve değişiklikleri aynı dosyaya yazar. – ikrabbe

cevap

0

Sorununuz yerinde değil ama -r eksik.

'u yedeklemeden çalıştırmanız gerekir.

+0

Çok teşekkürler. Çalışıyor. Bu problemi iki gün geçirdim. – Alaa