2010-09-25 10 views

cevap

31
sed 's/^.....//' 

başında-of-line sonra 5 karakter ("") hiçbir şey ile ("s", yerine)

yerine gelir.

Bunu sed veya kesik kullanarak yazmak için daha kompakt veya esnek yollar vardır.

+0

Bir dizenin son karakteri için bunu nasıl yaparsınız? – blarg

+1

@blarg deneyin 'sed' s /.$// '' –

+0

artı' soruyla cevapla 'bölümünü yanıtlamak için' ve 'kesimin daha iyi olduğunu söyleyerek –

10
sed 's/^.\{,5\}//' file.dat 
+3

BSD sed kabul etmiyor * en fazla * bağlı ('{, 5}'), bu GNU'ya özgüdür. Her ikisinde de çalışan bir ifade, 'sed'/^. \ {5 \} // 'file.dat' – Tristan

75

kullanımı cut:

cut -c6- 

Bu sütun 6 başlayan girişin her satır basılır (ilk sütun 1).

+0

olacaktır. Kesim, sed'den daha iyi bir performansa sahiptir, ancak utf-8 kodlu karakterlerde kullanıldığında sorun yaşıyorum . – PSchwede

İlgili konular