Dosyadan belirli bir metni arayın ve satırın çıktısını alın (Shell script)


12

Bir değişken $ str1 varsayalım

str1="20140121-21:48:26|Joanne Frances|"

Yapmak istediğim dosyada o kısmı aramak. Dosya şunları içerir:

20140121-21:48:26|Joanne Frances|Perez|9173046751.000000|Mar 31|
20140121-21:50:28|Nikko|Real|9065887272.000000|Mar 21|
20140121-22:22:53|Czarina|Revilla|9999999999.000000|Jan 21|

Çıktı şöyle olmalıdır:

20140121-21: 48: 26 | Joanne Frances | Perez | 9173046751.000000 | 31 Mar |

Güncelleme: Sonunda halt etmeye çalıştı problemin ne olduğunu echo $str1ve onu çıkarır 20140121|Adrian Perez|gerçekten dosyada DEĞİL anlamına gelir. Haaa! Dağılmış haldeyim! -_-


sadece grep kullanabilirsiniz. ör.grep $str filename.txt
mcantsin

@mcantsin Bunu denedim, işe yaramadı
joanne_

ve hata nedir? - Çıktı yok?
mcantsin

@mcantsin yup çıktı yok!
joanne_

Örneğinizi test ettim ve benim için mükemmel bir şekilde çalışıyor. - Yazım hatası olmadığından emin misin?
mcantsin

Yanıtlar:


12

Bunu kullan:

grep "$str" filename.txt

özel karakterlerin yanlış yorumlanmasını önlemek için.

Daha fazla bilgi için, şuna bakı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.