Windows管道符命令
在windows上也有类似于Linux上面grep
的命令,那就是find
和 findstr
两个命令,这些命令可以根据输出的结果进行查找。
find
命令文档如下:
D:\>find /?
在文件中搜索字符串。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V 显示所有未包含指定字符串的行。
/C 仅显示包含字符串的行数。
/N 显示行号。
/I 搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
"string" 指定要搜索的文本字符串。
[drive:][path]filename
指定要搜索的文件。
如果没有指定路径,FIND 将搜索在提示符处键入
的文本或者由另一命令产生的文本。
findstr
命令文档如下:
D:\>findstr /?
在文件中寻找字符串。
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/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 查找以分号为分隔符的目录列表
/Q:qflags 静音模式标志:
u 抑制对不支持的 Unicode 格式发出警告
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 常见表达法的详细情况,请见联机命令
参考。
下面是实战案例,对abaqus
帮助命令行进行过滤操作,结果如下:
D:\>abaqus help | findstr /N job
7: support | system | all} [job=job-name] | whereami}
12: abaqus job=job-name
20: [oldjob=oldjob-name]
49: abaqus cse job=cosim-job-name configure-configuration file-name
56: abaqus cosimulation cosimjob=cosim-job-name
58: job=comma-separated list of Abaqus job names
60: for the Abaqus jobs}]
68: [input=comma-separated list of Abaqus job input-file names]
70: for the Abaqus jobs]
74: jobs]
75: [oldjob=comma-separated list of oldjob-names for the Abaqus
76: jobs]
78: settings for the Abaqus jobs]
80: Abaqus jobs]
82: the Abaqus jobs]
119: job=results folder
153: abaqus ascfil job=job-name [input=input-file]
158: abaqus append job=job-name oldjob=oldjob-name input=input-file
163: abaqus findkeyword [job=job-name] [maximum=maximum-output]
168: abaqus fetch job=job-name [input=input-file]
173: abaqus make {job=job-name | library=source-file}
182: abaqus upgrade job=job-name
203: abaqus odbreport [job=job-name] [odb=output-database-file]
233: abaqus substructurerecover job=job-name
248: abaqus odbcombine job=job-name
264: abaqus emloads job=target-odb-name
272: abaqus mtxasm job=name-of-assembled-mtx-sim-doc
273: [oldjob=name-of-element-mtx-sim-doc]
279: abaqus fromnastran job=job-name [input=input-file]
302: abaqus tonastran job=job-name [input=input-file]
309: abaqus fromansys job=job-name [input=input-file]
314: abaqus frompamcrash job=job-name
323: abaqus fromradioss job=job-name
335: abaqus toOutput2 job=job-name [odb=odb-name]
344: abaqus fromdyna job=job-name input=dyna-input-file
350: abaqus tozaero job=job-name [unvfile=unv-file-name]
359: abaqus adams job=job-name [substructure_sim=filename]
369: abaqus tosimpack job=job-name [substructure_sim=filename]
377: abaqus fromsimpack job=job-name [fbi=fbi-filename]
382: abaqus toexcite job=job-name [hide_mesh={OFF | ON}]
389: abaqus moldflow job=job-name [input=input-name]
411: {job=job-name | host=hostname port=port-number}