«perl» etiketlenmiş sorular

Perl, üst düzey, genel amaçlı, yorumlanmış, dinamik bir programlama dilidir. Başlangıçta Larry Wall tarafından, açık kaynak topluluğunun desteğiyle bir süre boyunca rapor işlemeyi kolaylaştırmak için genel amaçlı Unix komut dosyası dili olarak geliştirildi, grafik programlama, sistem yönetimi, ağ programlama, finans için kullanılmak üzere gelişti ve olgunlaştı. , biyoinformatik ve diğer mühendislik uygulamaları.

9
Bir senaryoyu canlı tutmak için “while true” kullanmak iyi bir fikir midir?
Sadece farklı bir dünyadan unix'e atlıyorum ve while true do /someperlscript.pl done Perl betiğinin kendisinde dahili olarak dosyalar hedef konumda değiştirildiğinde çalıştırılan bir klasör / dosya izleyici vardır. Bu ( while true) iyi bir fikir mi? Değilse, tercih edilen sağlam yaklaşım nedir? TIA EDIT: Bu oldukça ilgi çekici gibi görünüyor, …
19 shell  perl 


4
Terminal nasıl açılır, 9 terminale bölünür ve bir komut dosyası kullanılarak aralarında nasıl geçiş yapılır?
Bir terminal açmak, 9 parça (3x3) diyelim ve bazı bash betiği çalıştırmak için bölmek istiyorum. Ancak her terminal bölümü için farklı komut dosyası. Bu perl, python ve hatta bash kullanılarak yapılabilir mi? Klavye kısayolları kullanmadan bu küçük terminaller arasında nasıl geçiş yapabilirim? Oh, bu arada, kullanıyorum terminator. Ve böyle bir …


7
Her satırı birkaç kez tekrarlayın
Bir dosyadaki her satırın belirli sayıda tekrarlanmasını istiyoruz. örneğin, her satırı dört kez tekrarlayın: a b c dönüşür: a a a a b b b b c c c c Biraz arama yaptım ve tersini yapan çizgiler boyunca birçok soru ve cevap var, örneğin yinelenen satırları tek satırlara birleştirmek ve …

3
Dosyalarda çok satırlı dizeyi değiştirme
Bir çok satırlı dizeyi başka bir çok satırlı dize ile değiştirerek güncellemek istediğim birkaç dosya var. Çizgileri boyunca bir şey: * Some text, * something else * another thing Ve bununla değiştirmek istiyorum: * This is completely * different text Sonuç olarak, değiştirildikten sonra ilk metin bloğunu içeren dosya şimdi …

2
Belirli bir PID'nin çalışıp çalışmadığını nasıl kontrol etmeliyim?
PID toplamak için günlük dosyalarını ayrıştıran ve daha sonra bu PID çalışıp çalışmadığını denetler Perl komut dosyası yazıyorum. Bu kontrolü yapmanın en iyi yolunu düşünmeye çalışıyorum. Açıkçası, şöyle bir şey yapabilirim: system("ps $pid > /dev/null") && print "Not running\n"; Ancak, mümkünse sistem çağrısından kaçınmayı tercih ederim. Bu nedenle /procdosya sistemini …

4
farklı dosyaların iki sütununu karşılaştırın ve eşleşiyorsa yazdırın
Solaris 10 kullanıyorum ve bu yüzden -f'yi içeren grep seçenekleri çalışmıyor. İki boru ile ayrılmış dosyam var: file1: abc|123|BNY|apple| cab|234|cyx|orange| def|kumar|pki|bird| dosya 2: abc|123| kumar|pki| cab|234 File1'in ilk iki sütununu file1 ile eşleştirmek istiyorsanız (ilk iki sütundaki file1'in tüm içeriğinde arama yapın) eşleşen file1 satırını yazdırırlar. Sonra dosya 2'nin ikinci …

5
Bir sütundaki zaman damgalarını tarihe nasıl dönüştürebilirim?
Bunu içeren bir dosya var: 1415602803,LOGIN SUCCESS,AUTH,user2,192.168.203.63,10.146.124.73,59996,22 1415602807,LOGIN SUCCESS,AUTH,user1,172.24.31.10,172.32.1.1,48191,22 1415602811,LOGIN FAILED,AUTH,root,172.24.166.153,10.146.124.73,52506,22 1415602815,LOGIN FAILED,AUTH,user3,192.168.123.55,10.146.32.99,55750,22 Zaman damgasını şu biçimde bir tarihe dönüştürmek istiyorum: 2014-11-10 02:00:03,LOGIN SUCCESS,AUTH,user2,192.168.203.63,10.146.124.73,59996,22 2014-11-10 02:00:07,LOGIN SUCCESS,AUTH,user1,172.24.31.10,172.32.1.1,48191,22 2014-11-10 02:00:11,LOGIN FAILED,AUTH,root,172.24.166.153,10.146.124.73,52506,22 2014-11-10 02:00:15,LOGIN FAILED,AUTH,user3,192.168.123.55,10.146.32.99,55750,22 Bunu nasıl yapabilirim? Bu çalışır biliyorum: perl -pe 's/(\d+)/localtime($1)/e'( bu sorudan ) ama çıktı biçimi Mon Nov …

5
Satırların sırasını koruyarak yinelenen satırları kaldırın
[root@server]# awk '!seen[$0]++' out.txt > cleaned awk: (FILENAME=out.txt FNR=8547098) fatal error: internal error Aborted [root@server]# "" Sunucu "": 8 GByte RAM + 16 GByte SWAP, x> 300 GByte boş alan, amd64, masaüstü CPU. Bilimsel Linux 6.6. LOAD yapmak için başka hiçbir şey üzerinde çalışmaz. Awk birkaç saniye sonra durur .. …

6
Dizeyi iki parantez arasında yazdırın
Bu satırları içeren bir dosyam var G8 = P(G1,G3) G9 = P(G3,G4) G12 = P(G2,G9) G15 = P(G9,G5) G16 = P(G8,G12) G17 = P(G12,G15) Çıktıya ihtiyacım var G1,G3 G3,G4 ..... Sed / grep komutuyla veya perl kullanarak nasıl yapabilirim?
14 sed  grep  perl 

7
Bir dosyadan birden fazla boş satır nasıl kaldırılır?
Not almak için kullandığım bazı metin dosyalarım var - sadece düz metin, genellikle sadece cat >> file. Bazen yeni bir konu / düşünce çizgisi belirtmek için boş bir çizgi ya da iki (sadece geri dön - yeni çizgi karakteri) kullanıyorum. Her oturumun sonunda, dosyayı Ctrl+ ile kapatmadan önce D, oturumları …
14 scripting  sed  awk  perl  filter 

2
Eksik değer boş alanını sıfır ile değiştirme
30K satır civarında input.txt sekmeyle ayrılmış metin dosyası var, her satırı (s1..s30K satır) eksik değer (yani boşluk) için kontrol etmek ve eksik değeri sıfır değeri ile doldurmak istiyorum. girdi.txt id no1 no2 no3 no4 s1 23 34 45 12 s2 4 4 s3 4 8 0 out.txt id no1 no2 …

2
Boş satırın grep için bağlam “grup ayırıcı” olarak kullanılması
Grup ayırıcı olarak bağlam, renk ve boş çizgiler ile grep çıktı gerekir. Bu soruda , özel tanımlamayı öğrendim group-separatorve grep komutumu şu şekilde oluşturdum: grep --group-separator="" --color=always -A5 ancak grup ayırıcısı aslında boş değildir, bunun yerine hala renk kodunu (ie [[36m[[K[[m[[K) içerir. Çünkü kullanıyorum --color=always. Ama grep komutumda renk lazım …
12 grep  perl  colors 

3
Perl yapmanın bir yolu var mı?
Bir arkadaşım şunu yapar: perl -pi.bak -e 's/foo/bar/' somefile "somefile" aslında bir sembolik bağlantı olduğunda, perl sadece dokümanların ne yapacağını söyler: Bunu, giriş dosyasını yeniden adlandırarak, çıktı dosyasını orijinal adıyla açıp print () deyimleri için varsayılan olarak bu çıktı dosyasını seçerek yapar. Uzantı, sağlanmışsa, yedek kopya oluşturmak için eski dosyanın …

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.