Поиск определенного текста из файла и вывод строки (сценарий оболочки)

12

Предположим, у меня есть переменная $ str1

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

Что я хочу сделать, это поиск этой части в файле. Файл содержит, например:

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|

Выход должен быть:

20140121-21: 48: 26 | Джоан Фрэнсис | Перес | 9173046751.000000 | 31 марта |

Обновление: наконец-то узнайте, что это за проблема, echo $str1и она выдает результат, 20140121|Adrian Perez|означающий, что его в действительности нет в файле. Хааа! Я такой беспорядок! -_-

joanne_
источник
Вы можете просто использовать grep. напр.grep $str filename.txt
mcantsin
@mcantsin Я попробовал это, это не сработало
joanne_
а в чем ошибка? - Нет выхода?
Маканцин
@mcantsin да нет выхода!
joanne_
Я проверил ваш пример, и он отлично работает для меня. - Конечно, нет опечатки?
mcantsin

Ответы:

12

Использовать этот:

grep "$str" filename.txt

для предотвращения неправильной интерпретации специальных символов.

Чтобы узнать больше, обратитесь к этому:

Jobin
источник