«awk» etiketlenmiş sorular

Örüntüye yönelik tarama ve işleme dili.

3
Bir awk dizisindeki tüm içeriği nasıl görebilirim?
Anladığım kadarıyla awk dizi python dict gibi bir şeydir. Bu yüzden araştırmak için aşağıdaki kodu yazıyorum: awk '{my_dict[$1] = $2} END { print my_dict}' zen Ve anladım: awk: can't read value of my_dict; it's an array name. İlk sütun bir sayı olmadığından, dizinin toplam içeriğini nasıl okuyabilir ya da onu …
41 awk 

2
Baştaki sıfırları tarih çıktısından çıkarma
Tarihi aşağıdaki biçimde görüntülemek için date komutunun bir diğer adını yaptım: 2013.06.14.12.10.02 bu komutu kullanarak: alias date = date +"%Y.%m.%d.%H.%M.%S" Baştaki sıfırları çıktıdan kaldırmak istemediğim sürece her şey harika çalışıyor. Biçimi değiştirerek bunu gerçekleştirmenin bir yolu yoktur. Bunun gibi diğer komutlara çıkış boru tarafından sadece yapılabilir düşünüyorum sedve awk. Çalıştırdığım …
40 sed  awk  date 

6
Bir dizindeki her dosyanın satır sayısını, insan tarafından okunabilir biçimde nasıl listeliyorsunuz.
Büyük csv dosyaları içeren dizinlerin ve alt dizinlerin bir listesine sahibim. Bu dosyalarda yaklaşık 500 milyon satır var, her biri bir kayıt. bilmek isterim Her dosyada kaç satır var. Dizinde kaç satır var. Toplamda kaç satır var En önemlisi, buna 'insan tarafından okunabilir biçimde' ihtiyacım var, örneğin. 12345678 yerine 12,345,678 …
40 bash  awk  python  perl 

2
Awk '! A [$ 0] ++' nasıl çalışır?
Bu tek astar, ön sıralama yapmadan yinelenen satırları metin girişinden kaldırır. Örneğin: $ cat >f q w e w r $ awk '!a[$0]++' <f q w e r $ İnternette bulduğum orijinal kod okundu: awk '!_[$0]++' _Perl'de olduğu gibi awk'de özel bir anlam kazandığım için bu daha da şaşırtıcıydı , …

3
Bir metin dosyasındaki ilk 6 satırı / satırları awk ile atla
Bir metin dosyasındaki ilk 6 satırı / satırı nasıl atlayabilirim (input.txt) ve gerisini awk ile nasıl işlerim? Awk betiğimin (program.awk) formatı şudur: BEGIN { } { process here } END { } Metin dosyam şöyle: 0 3 5 0.1 4.3 2.0 1.5 1.5 3.0 0.3 3.3 1.5 2.1 . . …
39 awk  gawk 

12
Bir numaraya binlerce ayırıcı ekleyin
Python'da re.sub(r"(?<=.)(?=(?:...)+$)", ",", stroke ) Bir sayıyı üçüzlere bölmek için, örneğin: echo 123456789 | python -c 'import sys;import re; print re.sub(r"(?<=.)(?=(?:...)+$)", ",", sys.stdin.read());' 123,456,789 Bash / awk ile aynı nasıl yapılır?


9
Bir dosyadaki en uzun satırı nasıl yazdırırım?
Bir dosyadaki en uzun satırı yazdırmak için en basit yöntemi arıyorum. Bazı googling yaptım ve şaşırtıcı bir şekilde bir cevap bulamadı gibi görünüyordu. Bir dosyadaki en uzun satırın uzunluğunu sık sık yazdırırım, ancak gerçekte en uzun satırın nasıl yazdırılacağını bilmiyorum. Bir dosyadaki en uzun satırı basmak için herhangi bir çözüm …
34 bash  awk  filter 

3
Grep'den awk'ye boru bağlantısı çalışmıyor
grepDevam eden taildosya günlüğüne çalışıyorum ve nth kelimesini bir satırdan alıyorum . Örnek dosya: $ cat > test.txt <<EOL Beam goes blah John goes hey Beam goes what? John goes forget it Beam goes okay Beam goes bye EOL ^C Şimdi eğer bir şey yaparsam tail: $ tail -f test.txt …
34 bash  grep  rhel  awk  tail 


4
Dosyaların ilk n baytını sil
Aşırı bir sorunum var ve hayal edebileceğim tüm çözümler karmaşık. UNIX / Linux deneyimime göre kolay bir yol olmalı . Her dosyanın ilk 31 baytını silmek istiyorum /foo/. Her dosya yeterince uzun. Birinin bana hayal bile edemediğim şaşırtıcı derecede kolay bir çözüm sunacağından eminim. Belki awk?

12
Belirli sütunlar ada göre nasıl yazdırılır?
Aşağıdaki dosya var: id name age 1 ed 50 2 joe 70 Sadece idve agesütunlarını yazdırmak istiyorum . Şu anda sadece kullanıyorum awk: cat file.tsv | awk '{ print $1, $3 }' Ancak, bu sütun numaralarını bilmek gerektirir. Sütun numarası yerine (ilk satırda belirtilen) sütunun adını kullanabileceğim bir yol var …
32 awk 

10
Bir dosyanın içeriğini bir desenden (işaretleyici) önce başka bir dosyaya nasıl ekleyebilirim?
File1 içeriği: line1-file1 "1" line2-file1 "2" line3-file1 "3" line4-file1 "4" File2 içeriği: line1-file2 "25" line2-file2 "24" Pointer-file2 "23" line4-file2 "22" line5-file2 "21" Perl / shell betiğinin yürütülmesinden sonra, File2içerik şöyle olmalı: line1-file2 "25" line2-file2 "24" line1-file1 "1" line2-file1 "2" line3-file1 "3" line4-file1 "4" Pointer-file2 "23" line4-file2 "22" line5-file2 "21" yani …



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.