«sed» etiketlenmiş sorular

sed, metni filtrelemek ve dönüştürmek için kullanılan bir komut satırı akış düzenleyicisidir.

2
Neden sed varsayılan olarak genişletilmiş normal ifade modunu kullanmıyor?
Sed kullanıyorum. Görebildiğim kadar doğru bir regex kullanıyordum, ama sed hiçbir şey yapmadı. \s+Hangi sed'in anlayamadığını kullandığım ortaya çıktı ve geçiş yaptığımda [ ]+işe yaradı. Özetle, çalışmak için hemen hemen her şeyden kaçmak ve \sboşluk için kaldırmak zorunda olduğum bir normal ifade yaptım . Tüm bunlardan kaçınmak için bir mod …

3
İki belirli dize arasındaki metni kaldırma
Aşağıdaki gibi bir dosya var: mime PI Name: ISHO SUCCESS RATE RT, Value: 95.663826 scr PI Name: RRC Access Failures due to UU, Value: 0.13394141 prog PI Name: RRC Access Failures due to UU, Value: 0.16077702 sch PI Name: RRC Access Failures due to UU, Value: 0.11781933 Sonrasına PIkadar metni …

6
Bir regex ile bir dosyadan birden fazla satır nasıl alınır?
Bir regex ile bir dosyadan birden fazla satır nasıl alınır? Sık sık birden fazla satır almak / bir regex ile birden çok satır değiştirmek istiyorum. Örnek bir durum: Bir XML / SGML dosyasının bir kısmını okumaya çalışıyorum (mutlaka iyi biçimlendirilmiş veya tahmin edilebilir bir sözdiziminde değil, bu nedenle bir regex …
10 shell  sed  grep 

3
5. satırdan başlayarak boş satırlar nasıl silinir
Bu bende var: sed -i '/^$/d' temp_spec.rb hangi boş çizgiler sıyırma ve iyi çalışıyor. Bunu sadece 5-999 satırları (veya ideal olarak 5'ten dosya sonuna) için nasıl yapabilirim. Denedim: sed -n5,999 -i '/^$/d' temp_spec.rb sed '5,999!d/^$/d' temp_spec.rb ama ikisi de işe yaramadı (hata yok).
10 sed 

4
Her üç karakterden sonra bir karakter eklemek için sed bir liner nasıl yazabilirim?
Yani, şöyle bir dize var: AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA Ve dizeyi '+' işareti ile ayrılmış 3 karakterlik parçalara bölmek istiyorum. AUG+GCC+AUG+GCG+CCC+AGA+ACU+GAG+AUC+AAU+AGU+ACC+CGU+AUU+AAC+GGG+UGA Ve bunu iyi arkadaşımla yapmak istiyorum sed. denedim cat codons | sed -r 's/([A-Z]\{3\})/\1\+/g' ... başarılı olamadı. Hangi sedkomutu kullanabilirim?

3
Sed için bir doc-dosyası ve bir dosya kullanma
Sed komutları için burada-doc kullanmak ve okunacak dosyayı ve çıktı dosyasını sağlamak istiyorum. Gelişmiş Bash Scripting kılavuzundan Here-Documents'a baktım, ancak burada-doc kullanımında düzenli argümanlar hakkında hiçbir şeyden bahsetmiyor. Hatta mümkün mü? Aşağıdaki gibi bir şey elde etmek istiyorum: #!/bin/bash OUT=/tmp/outfile.txt IN=/my_in_file.txt sed $IN << SED_SCRIPT s/a/1/g s/test/full/g SED_SCRIPT > $OUT; …

5
Sed: Her yeni satırdaki deseni değiştir?
sedDeseni her ikinci olayda değiştirmenin bir yolu var mı ? Ya da en azından her iki satırda mı? (Elbette bir senaryo ile mümkün, ama kendime sedbunu yapıp yapamayacağımı soruyordum ). Düzenle buldum sed -e "s/pattern/replacement/g;n" Ama ikincisinin değil her ilk oluşumun yerini aldı. Misal Giriş dosyası: I have a pattern …
10 sed  replace 

4
UNIX'te 5 günden eski dosyaları kaldırın (dosya adındaki tarih, zaman damgası değil)
Bir dizinden 5 günden daha eski günlük dosyalarını silmek istiyorum. Ancak silme, dosyanın zaman damgasına dayanmamalıdır. Dosyanın adına dayanmalıdır. Örneğin bugünün tarihi 07.05.2012 olup dizin gibi isimlerin 10 dosyaları içerir için ABC_20120430.log, ABC_20120429.log, ABC_20120502.log, ABC_20120320.logvb ben dosyanın adından tarihini çıkararak dosyaları kaldırmak için isterler.
10 bash  sed  rm 

3
Dizeleri çok büyük bir dosyaya değiştirme
Ben aşağıdaki gibi aynı biçimde, hiçbir ayırıcı karakter ile URL çok uzun bir dizi var: http://example.comhttp://example.nethttp://example.orghttp://etc... Her URL'nin yeni bir satırda olmasını istiyorum. Sed kullanarak "http: //" tüm örneklerini "\ nhttp: //" ile değiştirerek yapmaya çalıştım sed 's_http://_\nhttp://_g' urls.txt ancak bir segmentasyon hatası oluşur (bellek ihlali). Ben sadece dosya büyüklüğü …


4
Birden çok dosyaya metin satırı ekleme
Yani, bir dizinde bir sürü dosya var ve her birine bir metin satırı eklemem gerekiyor. Aslında aşağıdaki biçime sahiptirler: <VirtualHost *:80> ServerAdmin gabe@localhost DocumentRoot /var/www/test1 ServerName test1.local ServerAlias test1 <Directory "/var/www/test1"> Options All AllowOverride All </Directory> </VirtualHost> Ve kapanmadan önce bir çizgi eklemek istiyorum </ VirtualHost>etiket. İlk varsayım, bunu sed …


5
Bash içindeki önde gelen dizeyi kaldır
Gibi bir dize var rev00000010ve ben sadece bu durumda 10, son numara istiyorum. Bunu denedim: TEST='rev00000010' echo "$TEST" | sed '/^[[:alpha:]][0]*/d' echo "$TEST" | sed '/^rev[0]*/d' regex doğru görünse de her ikisi de hiçbir şey döndürmez ( regexr ile denendi )

3
Dizeyi sıralı dizinle değiştir
Birisi bunu başarmak için zarif bir yol önerebilir mi? Giriş: test instant () test instant () ... test instant () //total 1000 lines çıktı: test instant1 () test instant2 () test instant1000() Boş satırlar girdi dosyalarımda ve aynı dizinde aynı anda işlemem gereken birçok dosya var. Ben aynı dir birçok …

2
Büyük tek satırlı dosyada temel sed komutu: belleği yeniden ayıramadı
250 MB'lık bir metin dosyam var, hepsi tek satırda. Bu dosyada akarakterleri bkarakterlerle değiştirmek istiyorum : sed -e "s/a/b/g" < one-line-250-mb.txt Başarısız: sed: couldn't re-allocate memory Bana öyle geliyor ki, bu tür bir görev çok fazla bellek ayırmadan satır içinde gerçekleştirilebiliyor. İş için daha iyi bir araç veya daha iyi …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.