首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Powershell:从文件末尾向后搜索

Powershell: 从文件末尾向后搜索

Powershell是一种Windows操作系统下的命令行解释器,它允许用户通过脚本实现自动化操作和管理。从文件末尾向后搜索是一种在Powershell脚本中常用的查找方法,它允许你从文件的末尾开始搜索特定内容,直到找到匹配的内容。

以下是一个使用从文件末尾向后搜索的示例:

代码语言:powershell
复制
# 定义要搜索的文件和关键字
$filePath = "C:\example.txt"
$searchTerm = "example"

# 获取文件长度
$fileLength = (Get-Content $filePath).Length

# 计算从文件末尾开始搜索的偏移量
$searchOffset = $fileLength - 1

# 从文件末尾开始搜索
$foundIndex = $searchOffset
while ($foundIndex -lt $fileLength) {
    if ( (Get-Content $filePath).Substring( $searchOffset, 1 ) -eq $searchTerm ) {
        Write-Output "Found search term at index $($foundIndex)"
        break
    }
    $foundIndex = $foundIndex - 1
}

# 如果没有找到搜索项,则输出一条消息
if ($foundIndex -lt $fileLength) {
    Write-Output "Search term not found in file"
}

在这个示例中,我们将搜索C:\example.txt文件中的$searchTerm,从文件末尾开始,每次向后搜索一个字符,直到找到匹配项或到达文件末尾。找到匹配项后,将输出其索引号。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

vim 嫌弃到依赖(21)——跨文件搜索

之前介绍了vim中的搜索模式,使用正则表达式可以很方便的在一个文件中进行搜索。后续也介绍了如何使用 argsdo 命令在参数列表中进行替换操作。...:cnext 和 :cprev 命令前面可以加数字表示向后或者向前跳转多少次。例如我这里使用 :2cnext 表示向后跳转2次。...我们只需要对其做一些修改就可以使我们的 :grep 自动忽略大小写 set grepprg=grep\ -n\ -i\ $* 我们看到,同样的命令现在多出来了一条小写的结果,另外它的显示上看也已经加上了...插一句题外话,我觉得 ack相较于 grep来说,最大的优势在于它可以识别不同的文件类型,这样就可以做到只搜索某一类型文件中的内容,而且默认支持递归搜索当前目录下所有文件。...例如这里我还是搜索 --TODO 可以现在单个文件中使用 :\v--\s+TODO进行搜索

1K30
  • 开源免费软件一键瘦身你的Windows系统-Win11Debloat

    翻译: 一个简单易用的 PowerShell 脚本,用于 Windows 中删除预安装的应用程序、禁用遥测、 Windows 搜索中删除 Bing 以及执行各种其他更改以整理和改善您的 Windows...如果您对任何更改不满意,可以使用“Regfiles”文件夹中的注册表文件轻松恢复它们。所有被删除的应用程序都可以 Microsoft 商店重新安装。...要使用参数,只需按照上述说明运行脚本,但在末尾添加参数,中间用空格隔开。...要使用参数,只需按照上述说明运行脚本,但在末尾添加参数,中间用空格隔开。示例: ....\Win11Debloat.ps1 -RemoveApps -DisableBing -Silent 实际演示 现在就用PowerShell演示 1.打开PowerShell 开始--->搜索PowerShell

    36310

    windows中使用Oh My Posh美化你的终端PowerShell或CMD

    配置运行 Windows Terminal 时自动加载 oh-my-posh: 执行命令 echo $PROFILE 查看 powershell 的配置文件路径,第一次配置肯定时不存在的,需要手动创建这个文件...在目录 C:\Users\用户名\Documents\WindowsPowerShell 下 新建 Microsoft.PowerShell_profile.ps1 文件 内容如下 C:\\Users...这里的 Microsoft.PowerShell_profile.ps1 就是你刚刚修改的配置文件,其实它是以 ps1 形式存在的一个 powershell 脚本。...posh-git 不生效的话可以在前面的配置文件 Microsoft.PowerShell_profile.ps1中追加以下内容 Import-Module posh-git # 引入 posh-git...-Force 然后修改前面的配置文件 Microsoft.PowerShell_profile.ps1,在末尾追加以下内容: Import-Module PSReadLine # 历史命令联想 #

    90810

    如何使用Ketshash检测可疑的特权NTLM连接

    2.0;  工具下载  该工具是一个PowerShell脚本,因此我们只能在支持PowerShell 2.0+的设备上使用该工具。...Invoke-DetectPTH使用  参数解释 Targetcomputers:要检测NTLM连接的目标计算机数组; TargetComputersFile:包含要检测NTLM连接的目标计算机列表的文件路径...在Windows 10和Server 2016上,启用“内核对象审计”将提供更准确的信息,例如写入LSASS; LogFile:保存结果的日志文件路径; MaxHoursOfLegitLogonPriorToNTLMEvent...:自NTLM事件发生后,需要多少小时才能向后查看并搜索合法登录,默认值为向后2小时; 使用样例1(推荐) Invoke-DetectPTH -TargetComputers "MARS-7" -LogFile...(向右滑动,查看更多) 将$TargetComputer[array]修改为[string],这样就可以在脚本块中使用断点来调试了。

    84350

    100 条 Linux vim 命令备忘单,收藏起来随时备用!

    d0删除光标所在位置到行首的所有内容 dgg删除光标所在位置到文件开头的所有内容 dG删除光标所在位置到文件末尾的所有内容 x删除单个字符 编辑文本命令备忘单 r替换单个字符(并返回命令模式)...它们之间没有空格 u撤消 Ctrl+ r重做 .重复上一个命令 移动命令备忘单 h向左移动光标 j向下移动光标 k向上移动光标 l向右移动光标 b移动到单词的开头 w移动到下一个单词的开头 e移动到单词的末尾...0跳到行首 $跳到行尾 ^跳转到该行的第一个(非空白)字符 Ctrl + b向后移动一个全屏 Ctrl + f向前移动一个全屏 Ctrl + d向前移动 1/2 个屏幕 Ctrl + u向后移动 1/...向后搜索 * 向前搜索光标下的单词 # 向后搜索光标下的单词 r 替换光标位置的单个字符 R 替换光标位置开始的字符 cc 替换整行 :%s/search/replace/g 用replace替换每次出现的搜索...:%s/search/replace/gc 用确认替换替换每次出现的搜索 撤消和重做命令备忘单 u 撤消上次更改 Ctrl+r 重做已撤消的更改 标签命令备忘单 :tabe 在新选项卡中打开文件

    1.5K20

    微软发布PowerShell 7.0,兼容性大升级,全平台可用,开发人员:自7以后才是真·PowerShell

    新的语法糖,更好的兼容性,最重要的,是.NET Core 2.x完全迁移到了3.1。 背后生态的升级,也意味着PowerShell 7比起它的老版本们,更具向后兼容性。...PowerShell的开发人员甚至表示: PowerShell 7标志着Windows PowerShell最大化向后兼容的完成。...= 简化的动态错误视图和Get-Error命令行工具,可更轻松地调查错误 兼容性层,使用户能够在隐式Windows PowerShell会话中导入模块 自动新版本通知 直接PowerShell 7调用...DSC资源的能力(实验性) 更重要的一点是,PowerShell 6.x版本升级到7.0版本,意味着.NET Core2.x升级到了3.1。....NET Core 3.1是2019年12月更新的.NET最新版本,也是最具向后兼容性的版本。这也就使得Windows PowerShell模块的向后兼容性大大提高。

    1.6K10

    less(1) command

    , --help 显示帮助信息,等于交互式命令 h -a, --search-skip-screen 向前搜索默认当前屏幕的首行开始,向后搜索默认当前屏幕的末行开始。...该选项使得向前搜索屏幕末行的下一行开始,向后搜索当前屏幕首行的前一行开始,即跳过屏幕内容。...比如 +G 表示跳转至文件末尾,+/XYZ 表示跳转至匹配 XYZ 的第一行,+NUM 表示文件第 NUM 行开始显示;如果选项以 ++ 开头,则初始命令将应用于所查看的每个文件,而不仅仅是第一个文件...PATTERN 向后搜索包含模式的第 N 行,N 默认为 1。屏幕首行的前一行开始搜索。在 PATTERN 前输入指定特殊字符可以控制搜索的行为。主要有: ^N 或 !...无需事先跳转到文件首行 /@PATTERN:先输入 /,再输入 @,后输入搜索模式,最后回车 (5)末行开始向后搜索。 G : 跳转到末行 ?

    21630

    通过逆向分析防御挖矿病毒「建议收藏」

    转载于:https://www.freebuf.com/articles/network/163233.html 前言: 因为这次是应急响应引出的,所以我将侧重点放在分析病毒本身的存储方式和传播途径,...[省略…]是Base64,于是解析得到 将其中的关键字放到搜索引擎里搜索,发现下面4篇文章 主要看下面3篇文章清除病毒 https://community.spiceworks.com/topic...金山毒霸安全实验室写的病毒分析 http://www.freebuf.com/column/149286.html 通过文章得知,病毒无落地文件,持久化在WMI属性中,启动靠WMI事件侦听器。...administrators的远程权限 杜绝minikaz获取Windows明文密码(Windows 8.1(含)以上默认即无法获取) 1、 安装KB2871997补丁,其中微软将一些新系统的安全特性向后移植到了...看来这类无落地文件病毒的查杀确实是个难点。

    1K20

    Linux 命令(89)—— less 命令

    , --help 显示帮助信息,等于交互式命令 h -a, --search-skip-screen 向前搜索默认当前屏幕的首行开始,向后搜索默认当前屏幕的末行开始。...该选项使得向前搜索屏幕末行的下一行开始,向后搜索当前屏幕首行的前一行开始,即跳过屏幕内容。...比如 +G 表示跳转至文件末尾,+/XYZ 表示跳转至匹配 XYZ 的第一行,+NUM 表示文件第 NUM 行开始显示;如果选项以 ++ 开头,则初始命令将应用于所查看的每个文件,而不仅仅是第一个文件...PATTERN 在文件向后搜索包含模式的第 N 行,N 默认为 1。搜索从紧接顶部一行之前的那一行开始。在 PATTERN 前输入指定特殊字符可以控制搜索的行为。主要有: ^N 或 !...ENTER 向前滚动一行 y 向后滚动一行 d 向前滚动半屏 u 向后滚动半屏 f 向前滚动一屏 b 向后滚动一屏 g 跳转到文件首行 G 跳转到文件末行 /PATTERN 向前搜索指定内容 n

    4.4K30

    初学者必会的Linux命令 - 文件查看篇

    本人的技术路线Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。...同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。 对于文章中出现的任何错误请大家批评指出,一定及时修改。...+num:第num行开始显示 -num:设定每页显示的行数 +/pattern:在显示前搜索pattern字符串,然后该位置附近开始显示 进入阅读模式后 回车:向下翻1行 空格:向下滚动一屏 Ctrl...字符串:向上查找指定内容 b:向后翻一页 d:向后翻半页 q:退出 ?...五、tail 查看文件的尾部内容,默认显示末尾10行 用法:tail [选项] -c nK:显示文件末尾nKB的内容 -n:显示文件末尾n行的内容 -f:动态显示文件内容(不断读取末尾内容),按Ctrl

    1.1K31

    linux环境常用分析日志的几个命令

    less 特点:不加载文件文件比较大的时候vim会比较卡顿),可以查找 less error.log 直接打开 less -N error.log 显示行号打开 定位到某一行 ng,如100...行为100g 定位最后一行 GG 搜索: / 使用一个模式进行搜索,并定位到下一个匹配的文本 n 向前查找下一个匹配的文本 N...向后查找前一个匹配的文本 tail 特点:末尾显示指定行数,可持续打印 tail -400f error.log #监控最后400行日志文件的变化 等同于 tail -n 400 -f error.log...(-f参数是实时) grep 特点:按照正则表达式过滤 常用显示相关上线文 -B 行数 向后显示n行 -A 行数 向前显示n行 -C 行数 上下各n行 -i 忽略大小写 -v 反向匹配...,选出没匹配上的内容 例如:grep "error" -A 5 -B 10 error.log 显示文件中 error和其前10行和后5行 sed 特点:按照设定格式修改、过滤等。

    1.4K20

    技术|必知必会的 Vim 编辑器基础命令

    命令模式下的光标移动Vim快捷键允许你使用不同的方式来移动光标: G–跳转到文件最后一行gg–跳转到文件首行$–跳转到行末尾0(数字0)–跳转到行开头w–跳转到下一个单词的开始(单词的分隔符可以是空格或其他符号...当光标位于行中间时,这个键很有用A–在光标所在行的末尾插入。...o–在光标所在行的下面插入新行O–在光标所在行的上面插入新行ea–在单词的末尾插入拷贝、粘贴和删除一行yy–复制一行p/P–将内容粘贴到光标之后/之前dd–删除一行dw–删除一个单词在Vim中搜索和替换匹配的模式.../模式–向后搜索给定的模式?...模式–向前搜索给定的模式n–向后重复搜索之前给定的模式N–向前重复搜索之前给定的模式:%s/旧模式/新模式/g–将文件中所有的旧模式替换为新模式:s/旧模式/新模式/g–将当前行中所有的旧模式替换为新模式

    1.3K40

    PBG:一款功能强大的PowerShell后门生成工具

    关于PBG  PBG的全称为Powershell Backdoor Generator,是一款功能强大的PowerShell后门生成工具,该工具能够生成PowerShell向后门,并使用Python...功能介绍  1、Hak5 USB Rubber Ducky Payload生成; 2、Flipper Zero Payload生成; 3、远程系统下载文件; 4、URL播放wav文件; 5、获取目标计算机的公共...IP地址; 6、枚举本地用户; 7、查看有价值的文件; 8、收集有关目标系统操作系统的信息; 9、目标系统检索BIOS信息; 10、检查是否安装了防病毒软件及其当前状态; 11、获取活动TCP客户端;...--out OUT, -o OUT 指定后门文件名 --verbose, -v 显示Verbose输出 --delay DELAY Flipper...Listener 192.168.0.223:4444 use CTRL+BREAK to stop(向右滑动,查看更多) 上述命令运行之后,会在当前工作目录中生成一个名为backdoor.ps1的文件

    1K10

    Vim 学习

    编辑文件 使用 :wq 以保存文件并退出 删除类命令 输入 dw 可以光标处删除至一个单词的末。 输入 d$ 当前光标删除到行末。 输入 de 当前光标当前位置直到单词末尾,包括最后一个字符。...移动光标 输入 2w 使光标向后移动两个单词。 输入 3e 使光标向后移动到第三个单词的末尾。 比如之前的光标位置为: —> |this is a demo....更改 要改变文本直到一个单词的末尾,请输入 ce。 ce 命令相当于删除一个单词的同时,进入插入模式。 使用 c2w 删除两个单词并且进入插入模式。 使用 c$ 删除光标后所有内容并且进入插入模式。...文件搜索 输入 / 加上字符串,可以在当前文件中查找该字符串。 要查找同上一次的字符串,只需要按 n 键。要向相反方向查找同上一次的字符串,请输入大写 N 即可。...提示:如果查找已经到达文件末尾,查找会自动文件头部继续查找,除非 ‘wrapscan’ 选项被复位。

    63220
    领券