Cari teks tertentu dari file dan output baris (skrip Shell)

12

Misalkan saya punya variabel $ str1

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

Yang ingin saya lakukan adalah mencari bagian itu di file. File tersebut berisi, misalnya:

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|

Outputnya harus:

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

Pembaruan: Akhirnya tahu apa masalah yang dicoba echo $str1dan output 20140121|Adrian Perez|berarti itu benar-benar TIDAK dalam file. Haaa! Aku benar-benar berantakan! -_-

joanne_
sumber
Anda cukup menggunakan grep. misgrep $str filename.txt
mcantsin
@ mcantsin Saya mencobanya, tidak berhasil
joanne_
dan apa masalahnya? - Tidak ada output?
mcantsin
@mcantsin tidak ada output!
joanne_
Saya menguji contoh Anda dan itu berfungsi dengan baik untuk saya. - Tentu tidak ada kesalahan ketik?
mcantsin

Jawaban:

12

Gunakan ini:

grep "$str" filename.txt

untuk mencegah salah tafsir karakter khusus.

Untuk mengetahui lebih lanjut, lihat ini:

pekerjaan
sumber