| context.js v1.1.2 获取指定行的上下文 by [http: |
| |
| cscript -nologo context.js [options] [-f context_from] key [-k key2] [-t context_to] file ... |
| options: |
| -c, --strictly-context |
| 严格的上下文,启用此项后必须完整匹配上下文时才能输出 |
| -o, --overlap 允许下一次匹配的上下文与本次交叉 |
| -g, --global 全局匹配,不使用此项时只显示第一个匹配结果 |
| -e, --regexp 启用正则,把 /Pattern/Mode 格式的参数理解为正则表达式 |
| 例如 /(www|bbs).bathome.net/ig |
| -u, --unicodefile 从文件获取输入时,用 Unicode 编码读取内容 |
| --unicodefile-auto 用 Unicode 编码读取失败时再尝试以 ANSI 编码读取 |
| -r, --repeat-option-key1 连续多行符合 key 条件时,计入同一个选区 |
| --repeat-option-key2 连续多行符合 key2 条件时,计入同一个选区 |
| |
| -h, --help 显示这个帮助 |
| --version 显示版本 |
| |
| -n, --number 打印行号 |
| --color[=attr] 彩色输出 key 匹配结果和附加信息,全局颜色开关 |
| --color-key[=attr] 设置 key 匹配结果高亮颜色 |
| --color-info[=attr] 设置前缀信息高亮颜色 |
| --color-path[=attr] 设置源路径高亮颜色,来源唯一时不显示路径 |
| |
| attr 可设置颜色信息,允许以下值: |
| Black = 黑色 Blue = 蓝色 |
| Red = 红色 Magenta = 淡紫色 |
| Green = 绿色 Cyan = 青色 |
| Yellow =黄色 White = 白色 |
| 可以写成 =背景色,前景色,也可以写成 =前景色 |
| 例如 --color=blue,white,设置高亮颜色为 前白后蓝 |
| |
| 使用 WSH 宿主运行时不会自动彩色显示 |
| 建议配合使用 ansicon.exe,下载地址: |
| http: |
| -- 不再解析后续参数 |
| |
| input: |
| file 允许指定多个文件,支持通配符 |
| - 从 stdin 获取输入 |
| |
| tragets: |
| -f value, --context-from=value 限定上文范围(默认1),必须指定 value |
| -t value, --context-to=value 限定下文范围(默认1),必须指定 value |
| -k value, --key2=value 选区末端匹配条件(默认关),必须指定 value |
| |
| values: |
| context_from 上文范围匹配条件 |
| context_to 下文范围匹配条件 |
| key2 选区末端匹配条件 |
| |
| 此部分参数会根据传入值作出不同理解: |
| 全数字 - 第 N 行 |
| -数字 - 倒数第 N 行 |
| +数字 - 对应匹配范围前或后第 N 行,参数为 key 时不可用 |
| 数字,数字 - 从某行和某行,仅当参数为 key 或 key2 时可用 |
| 数字-数字 - 从某行到某行,仅当参数为 key 或 key2 时可用 |
| '字符串' - 字符串,字符串匹配时建议加上单引号 |
| /字符串/模式 - 正则表达式,仅当启用正则表达式时可用 |
| 其他 - 字符串 |
| |
| 由于宿主特性,参数中的双引号不会保留 |
| 如需使用,建议启用 -e 后在正则表达式中用 \x22 表达 |
| |
| 单引号不具参数分组和转义效果,仅用于确定字符串参数 |
| |
| option 部分的短开关可以合并,例如 -e -o 可简写为 -eo |
| |
| examples: |
| cscript -nologo context.js -i 'test' a.txt |
| 在 a.txt 中查找包含 test 的行,不分大小写,并打印上下行 |
| |
| dir | cscript -nologo context.js -g 2,14-16 |
| 在 dir 的输出中查找包含第 2 行和第 14 到 16 行,并打印上下行 |
| |
| cscript -nologo context.js -e -f+3 "/^start$/" -k "/^end$/" -t 'to' a.txt |
| 查找从 start 到 end 的行,并打印其前三行和 end 之后直到包含 to 的行 |
| |
| cscript -nologo context.js --color-path=yellow /bathome/i *.txt |
| 查找当前路径下所有 txt 中包含 bathome 的行,并以黄色高亮文件名 |
| |
| cscript -nologo context.js --color -n 'test' a.txt | ansicon.exe |
| 彩显行号和 key 匹配的部分,需配合其他工具,此例使用 ansicon.exe |
| |
| cscript -nologo context.js --help |
| 显示这个帮助COPY |