我正在Windows 10 机器上开发WSL实例(Ubuntu)。
为了在数据库中查找某些信息,我生成了一个脚本,其中包含数据库的整个结构和grep
内容,我希望它可以简单地告诉我某些信息是否存在。
然而,正如您所看到的,这并没有起作用:
WSL_Prompt> grep "S" DB_Local_Backup_20250311.sql
=> 你在开玩笑吗?整个数据库中没有字母“S”?
WSL_Prompt> head -5 DB_Local_Backup_20250311.sql
USE [DB_Name]
GO
/****** Object: User [DB_user] Script Date: 11/03/2025 11:32:44 ******/
CREATE USER [DB_user] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[dbo]
GO
=> 字母“S”几乎出现在该文件的所有地方。
WSL_Prompt> ls -ltra DB_Local_Backup_20250311.sql
-rwxrwxrwx 1 scampsd scampsd 4575828864 Mar 11 11:35 DB_Local_Backup_20250311.sql
=> 好吧,我承认:这个文件确实很大。
WSL_Prompt> grep --version | head -n 1
grep (GNU grep) 3.4
grep
=> 这是我正在使用的版本。
WSL Prompt> cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
=> 这是我正在使用的 WSL 的版本。
更多信息:
文件类型:
WSL_Prompt> file DB_Local_Backup_20250311.sql
DB_Local_Backup_20250311.sql: Little-endian UTF-16 Unicode text, with CRLF line terminators
十六进制转储:
WSL_Prompt> head -n 1 DB_Local_Backup_20250311.sql | hd -c
00000000 ff fe 55 00 53 00 45 00 20 00 5b 00 43 00 65 00 |..U.S.E. .[.C.e.|
0000000 U \0 S \0 E \0 \0 [ \0 C \0 e \0
有解决办法吗?