SORU
6 NİSAN 2009, PAZARTESİ


Nasıl bir desen önünde bir yeni satır eklemek için?

Bir satırın önüne yeni satır eklemek için nasıl. Bu bir çizgi içinde bir desen önce bir yeni satır eklemek istiyor.

Örneğin,

sed 's/regexp/&\n/g'

Ekle regexp desen arkasında bir yeni satır.

Nasıl ama desen önünde de aynısını yapabilir miyim?

İşte bir örnek dosya giriş

somevariable (012)345-6789

Haline gelmelidir

somevariable

(012)345-6789

CEVAP
22 HAZİRAN 2012, Cuma


Bu Linux ve OS X üzerinde çalışır:

sed 's/regexp/\'$'\n/g'

$ bir dize ters eğik çizgi ile edebi ve ardından genel olarak, bash yapar C-stil eğik çizgi yerine koyma, örneğin $'\t' edebi bir sekme için tercüme edilmiştir. Ayrıca, sed istiyor senin yeni satır literal ters eğik çizgi, $ önce \ dolayısıyla birlikte kaçtı. Ve son olarak, dolar kabuğu, $ önce teklif kapatıp hemen tekrar açmak bu nedenle tarafından yorumlanan öyle dedi kendisi olmamalı işareti.

Güncelleme:herhangi biri için kullanılabilir yukarıdaki yöntem C-style "görmekteyiz" char. Eğer sadece yeni bir çizgi gerekiyorsa, o zaman belki de bu kadar kolay hatırlamak için:

sed "s/regexp/`echo`/g"

Bu durumda çift tırnak not; backticks `echo` echo komutu kabuk tarafından yorumlanması gerektiğini çünkü.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • case LianLi

    case LianLi

    28 Mayıs 2010
  • ravinderosahn

    ravinderosah

    20 Temmuz 2009
  • superflyy88

    superflyy88

    8 ŞUBAT 2009