find与findstr

转自:http://forabc.blogbus.com/logs/55983574.html

findfindstr

在文件中搜索字符串。

  

1.findstr . 2.txt Findstr "." 2.txt 

从文件2.txt中查找任意字符,不包括空字符或空行

====================

  

2.findstr .* 2.txt findstr ".*" 2.txt

从文件2.txt中查找任意字符包括空行和空字符

====================

 

 

3.findstr "[0-9]" 2.txt

从文件2.txt中查找包括数字09的字符串或行

====================

 

 

4.findstr "[a-zA-Z]" 2.txt

从文件2.txt中查找包括任意字符的字符串或行

====================

 

 

5.findstr "[abcezy]" 2.txt

从文件2.txt中查找包括a b c e z y字母的字符串或行

====================

 

 

6.findstr "[a-fl-z]" 2.txt

从文件2.txt中查找小写字符a-f l-z的字符串,但不包含g h I j k这几个字母。

====================

 

 

7.findstr "M[abc] [hig]Y" 2.txt

从文件2.txt中可以匹配 MaiY, MbiY, MahY等…..

====================

 

 

8. ^$符号的应用

^ 表示行首,"^step"仅匹配 "step hello world"中的第一个单词

$ 表示行尾,"step$"仅匹配 "hello world step"中最后一个单词

====================

 

 

9.findstr "[^0-9]" 2.txt

如果是纯数字的字符串或者行便过滤掉,例如2323423423 这样的字符串,如果是345hh888这样的形式就显示出来。

====================

 

 

10.findstr "[^a-z]" 2.txt

同上,如果是纯字母的字符串或者行便过滤掉,例如 sdlfjlkjlksjdklfjlskdf这样的字符,如果是sdfksjdkf99999这样的形式,掺杂着数字就不成了

====================

 

 

11.*号的作用

前面已经说过了 ".*"表示搜索的条件是任意字符,*号在正则表达式中的作用不是任何字符,而是表示左侧字符或者表达式的重复次数,*号表示重复的次数为零次或者多次。

====================

 

 

12.findstr "^[0-9]*$" 2.txt

这个是匹配找到的纯数字,例如 234234234234,如果是2133234kkjl234就被过滤掉了。

   Findstr "^[a-z]*$" 2.txt

这个是匹配找到的纯字母,例如 sdfsdfsdfsdf,如果是213sldjfkljsdlk就被过滤掉了

=====================

 

 

 

批处理编写手机号查找程序

@echo off
title
手机号码归属地查询
mode con lines=10 cols=31

:Main
cls
echo.
echo.
echo       
请输入手机号码:
echo.
set input=
set /p input=        
if not defined input exit    
if "%input:~10%"=="" goto Main
if not "%input:~11%"=="" goto Main
echo %input%|findstr "^1[3,5][0-9]*$">nul
cls
echo.
set ID=%input:~0,7%
for /f "tokens=2,4,6,8,10 delims='" %%i in ('findstr /r "%ID%"
手机信息数据库.txt') do (
    echo
━━━━━━━━━━━━━━━
    echo  
来自: %%k %%l
    echo.
    echo  
品牌:%%m
    echo.
    echo  
电话区号:%%j
    echo
━━━━━━━━━━━━━━━
)
pause>nul
goto Main

手机数据信息库内容

(1, '1300000', '010', '北京', '北京', '联通130'),
(2, '1300001', '0519', '江苏', '常州', '联通如意通卡'),
(3, '1300002', '未知', '未知', '未知', '未知'),
(4, '1300003', '未知', '未知', '未知', '未知'),
(5, '1300004', '未知', '未知', '未知', '未知'),
(6, '1300005', '未知', '未知', '未知', '未知'),
(7, '1300006', '025', '江苏', '南京', '联通130'),
(8, '1300007', '未知', '未知', '未知', '未知'),
(9, '1300008', '未知', '未知', '未知', '未知'),
(10, '1300009', '未知', '未知', '未知', '未知'),
(11, '1300010', '010', '北京', '北京', '联通130'),
(12, '1300011', '010', '北京', '北京', '联通130'),
(13, '1300012', '022', '天津', '天津', '联通130'),
(14, '1300013', '022', '天津', '天津', '联通130'),
(15, '1300014', '022', '天津', '天津', '联通130'),
(16, '1300015', '0533', '山东', '淄博', '联通130'),
(17, '1300016', '0535', '山东', '烟台', '联通130'),
(18, '1300017', '0531', '山东', '济南', '联通130'),
(19, '1300018', '022', '天津', '天津', '联通130'),
(20, '1300019', '022', '天津', '天津', '联通130'),
(21, '1300020', '021', '上海', '上海', '联通130'),
(22, '1300021', '021', '上海', '上海', '联通130'),
(23, '1300022', '021', '上海', '上海', '联通130'),
(24, '1300023', '021', '上海', '上海', '联通130'),
(25, '1300024', '021', '上海', '上海', '联通130'),
(26, '1300025', '025', '江苏', '南京', '联通130'),
(27, '1300026', '025', '江苏', '南京', '联通130'),
(28, '1300027', '0535', '山东', '烟台', '联通130'),
(29, '1300028', '025', '江苏', '南京', '联通130'),
(30, '1300029', '025', '江苏', '南京', '联通130'),
(31, '1300030', '025', '江苏', '南京', '联通130'),
(32, '1300031', '025', '江苏', '南京', '联通130'),
(33, '1300032', '025', '江苏', '南京', '联通130'),
(34, '1300033', '0510', '江苏', '无锡', '联通130'),
(35, '1300034', '0510', '江苏', '无锡', '联通130'),
(36, '1300035', '0510', '江苏', '无锡', '联通130'),
(37, '1300036', '0510', '江苏', '无锡', '联通130'),
(38, '1300037', '0510', '江苏', '无锡', '联通130'),
(39, '1300038', '0510', '江苏', '无锡', '联通130'),
(40, '1300039', '0510', '江苏', '无锡', '联通130'),
(41, '1300040', '未知', '未知', '未知', '未知'),
(42, '1300041', '未知', '未知', '未知', '未知'),
(43, '1300042', '未知', '未知', '未知', '未知'),
(44, '1300043', '未知', '未知', '未知', '未知'),
(45, '1300044', '未知', '未知', '未知', '未知'),
(46, '1300045', '010', '北京', '北京', '联通130'),
(47, '1300046', '010', '北京', '北京', '联通130'),
(48, '1300047', '010', '北京', '北京', '联通130'),
(49, '1300048', '010', '北京', '北京', '联通130'),
(50, '1300049', '010', '北京', '北京', '联通130'),
(51, '1300050', '020', '广东', '广州', '联通130'),
(52, '1300051', '020', '广东', '广州', '联通130'),
(53, '1300052', '020', '广东', '广州', '联通130'),
(54, '1300053', '020', '广东', '广州', '联通130'),
(55, '1300054', '020', '广东', '广州', '联通130'),
(56, '1300055', '020', '广东', '广州', '联通130'),
(57, '1300056', '020', '广东', '广州', '联通130'),
(58, '1300057', '020', '广东', '广州', '联通130'),
(59, '1300058', '020', '广东', '广州', '联通130'),
(60, '1300059', '020', '广东', '广州', '联通130'),
(61, '1300060', '未知', '未知', '未知', '未知'),
(62, '1300061', '0724', '湖北', '荆门', '联通130'),
(63, '1300062', '未知', '未知', '未知', '未知'),

下载后将文件放置到Gvim 安装路径下的\vimfiles\plugin文件夹里, 例如:C:\Program Files (x86)\Vim\vimfiles\plugin 语法 FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/F:file][/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]strings [[drive:][path]filename[ ...]] 参数 /B 在一行的开始配对模式。 /E 在一行的结尾配对模式。 /L 按字使用搜索字符串。 /R 将搜索字符串作为一般表达式使用。 /S 在当前目录和所有子目录中搜索匹配文件。 /I 指定搜索不分大小写。 /X 打印完全匹配的行。 /V 只打印不包含匹配的行。 /N 在匹配的每行前打印行数。 /M 如果文件含有匹配项,只打印其文件名。 /O 在每个匹配行前打印字符偏移量。 /P 忽略有不可打印字符的文件。 /OFF[LINE] 不跳过带有脱机属性集的文件。 /A:attr 指定有十六进位数字的颜色属性。请见 "color /?" /F:file 从指定文件读文件列表 (/ 代表控制台)。 /C:string 使用指定字符串作为文字搜索字符串。 /G:file 从指定的文件获得搜索字符串。 (/ 代表控制台)。 /D:dir 查找以分号为分隔符的目录列表 strings 要查找的文字。 [drive:][path]filename 指定要查找的文件。除非参数有 /C 前缀,请使用空格隔开搜索字符串。 例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或"there" 。 'FINDSTR /C:"hello there" x.y' 文件 x.y 寻找"hello there"。 一般表达式的快速参考: . 通配符: 任何字符 * 重复: 以前字符或类别出现零或零以上次数 ^ 行位置: 行的开始 $ 行位置: 行的终点 [class] 字符类别: 任何在字符集中的字符 [^class] 补字符类别: 任何不在字符集中的字符 [x-y] 范围: 在指定范围内的任何字符 \x Escape: 元字符 x 的文字用法 \<xyz 字位置: 字的开始 xyz\> 字位置: 字的结束 有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值