Назад | Перейти на главную страницу

Grep не работает (с некоторыми файлами)?

У меня есть дамп базы данных MSSQL, который я пытаюсь просмотреть. Однако grep, похоже, вообще не работает. Вот фрагмент файла.

...
    ALTER DATABASE [Documents] SET RECURSIVE_TRIGGERS OFF
    GO
    ALTER DATABASE [Documents] SET  DISABLE_BROKER
    GO
    ALTER DATABASE [Documents] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
...

Однако, когда я выполняю команду grep, я получаю нада.

$ cat Documents.sql | grep -i 'alter'
$ <nothing>
$ cat Documents.sql | grep -i 'go'
$ <nothing>

Для хихиканья я создал еще один документ tempfile с:

$ cat tempfile 
alter

Alter

ALTER
$

И запустил на нем тот же grep:

$ cat tempfile | grep -i 'alter'
alter
Alter
ALTER

Мысли о том, почему grep не работает с определенными файлами? Меня беспокоит то, что, когда мне приходится перебирать кучу вещей, чтобы найти маленький самородок, он «может» чего-то упустить. Мысли?

Ах. Спасибо.

$ file -bi Documents.txt
text/plain; charset=utf-16le
$ vi Documents.txt

set encoding=utf-8
set fileencoding=utf-8

$ file -bi Documents.txt
text/plain; charset=utf-8
$ cat Documents.txt | grep -i 'alter'
ALTER DATABASE [Documents] SET COMPATIBILITY_LEVEL = 120
ALTER DATABASE [Documents] SET ANSI_NULL_DEFAULT OFF 
ALTER DATABASE [Documents] SET ANSI_NULLS OFF 
ALTER DATABASE [Documents] SET ANSI_PADDING OFF