Pesquise texto específico do arquivo e produza a linha (script Shell)

12

Suponha que eu tenha uma variável $ str1

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

O que eu quero fazer é pesquisar essa parte do arquivo. O arquivo contém, por exemplo:

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|

A saída deve ser:

20140121-21: 48: 26 | Joanne Frances | Perez | 9173046751.000000 | 31 de março |

Atualização: Finalmente, saiba qual é o problema que o problema tentou echo $str1e ele gera, 20140121|Adrian Perez|o que significa que NÃO ESTÁ realmente no arquivo. Haaa! Eu sou uma bagunça! -_-

joanne_
fonte
você pode simplesmente usar grep. por exemplogrep $str filename.txt
mcantsin 21/01
@mcantsin Tentei fazer isso, não funcionou
joanne_
e qual é o erro? - Sem saída?
precisa saber é o seguinte
@mcantsin yup sem saída!
joanne_
Eu testei o seu exemplo e funciona perfeitamente para mim. - Claro que não há erro de digitação?
Mcantsin

Respostas:

12

Usa isto:

grep "$str" filename.txt

para impedir a interpretação incorreta de caracteres especiais.

Para saber mais, consulte o seguinte:

jobin
fonte