LINUX.ORG.RU
решено ФорумAdmin

Чувствительность grep к регистрам.


0

1

Алоха всем.
Мною написан скрипт:

#!/bin/bash
echo "locate"
a=0
read a
grep "$a" file1 file2 file3
Проблема в том, что если в файле написано слово «Машина» а я ввёл «машина», то мне ничего не показывается.
Прочитав ман, попробовал grep -lir, тоже не помогло.

[ blackst0ne at blackberry: /tmp ]% echo "Машина" > test 
[ blackst0ne at blackberry: /tmp ]% echo "машина" >> test 
[ blackst0ne at blackberry: /tmp ]% cat ./test
Машина
машина
[ blackst0ne at blackberry: /tmp ]% grep -r "машина" ./test
машина
[ blackst0ne at blackberry: /tmp ]% grep -ir "машина" ./test
Машина
машина
[ blackst0ne at blackberry: /tmp ]%
blackst0ne ★★★★★
()
Ответ на: комментарий от blackst0ne

Спасибо прибольшое. Но мне интересно: с grep -ir работает, а c grep -lir нет.
man grep:

-l, --files-with-matches
              Suppress  normal output; instead print the name of each input file from which output would normally have been printed.  The scanning will
              stop on the first match.

alikhantara
() автор топика
Ответ на: комментарий от alikhantara
~$ echo Машина >test.1
~$ echo машина >>test.1
~$ echo Машина >test.2
~$ echo машина >>test.3
~$ grep -r машина test*
test.1:машина
test.3:машина
~$ grep -ir машина test*
test.1:Машина
test.1:машина
test.2:Машина
test.3:машина
~$ grep -lir машина test*
test.1
test.2
test.3
schizoid ★★★
()
Ответ на: комментарий от alikhantara

Переведи то, что ты сам написал:

Подавляет норамальный вывод. Вместо этого печатает имя каждого входного файла в котором есть совпадения. Сканирование производится до первого совпадения.

ghoust_x
()

Спасибо всем. Всё ясно.

alikhantara
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.