需求:批量获取文本指定内容所在行以下内容(含当前行)

解决方案:使用Powershell脚本处理

案例:

获取当前文件夹下所有txt文件

含文本"4"所在行以下内容(含当前行)

如果有多行包含文本"4",取第一个所在行以下内容(含当前行)

1.查看当前文件夹内容

2.右键执行脚本删除文件指定内容所在行上面内容.ps1

3.执行效果如下

执行代码

md change

Sleep -s 1

$findcontent = "*4*"

$a = (Get-ChildItem *.txt).count
$b = (Get-ChildItem *.txt).name for($x=0; $x -lt $a; $x=$x+1)
{
$infile = $b[$x] $outfile = ".\change\"+$infile $t = Get-Content $infile for($i=0;$i -lt $t.count;$i++)
{
if($t[$i] -like $findcontent)
{
$line = $i;break
}
} $string = $t[$i..($t.count-1)] $string | Set-Content $outfile -Encoding utf8 }

脚本说明

md change                    #在当前文件创建一个子文件夹change

Sleep -s 1                   #等1秒

$findcontent = "*4*"              #这里说明要查找的文本为"4",如果想更改查找的文本为"你好",这里需更改为$findcontent = "*你好*",其他同理   

$a = (Get-ChildItem *.txt).count       #获取当前文件夹下txt文件数量赋值给变量$a,(这里*.txt为查找的文件,可以根据需求进行替换)

$b = (Get-ChildItem *.txt).name        #获取当前文件夹下txt文件名称赋值给变量$b,(这里*.txt为查找的文件,可以根据需求进行替换)

for($x=0; $x -lt $a; $x=$x+1)         #建立一个for循环,从0开始,步长为1,直到大于等于变量$a的值结束
{   
    $infile = $b[$x]                #将要输入的文件路径赋值给变量$infile
    $outfile = ".\change\"+$infile      #将要输出的文件路径赋值给变量$outfile 
    $t = Get-Content  $infile         #获取输入的文件内容赋值给变量$t        
    for($i=0;$i -lt $t.count;$i++)      #建立一个for循环,从0开始,步长为1,直到大于等于变量$t的行数结束
    {
        if($t[$i] -like $findcontent)   #判断$t(输入的文件内容)的第i行是否与$findcontent(要查找的文本)相似,
           {
           $line = $i;break         #判断成功则跳过上一个for循环
           }
    } 
    $string = $t[$i..($t.count-1)]       #将变量$t的$i到$t.count-1(查找的文本所在行到文本最后一行)内容赋值给变量$string(如不需要查找的当前行将[$i..($t.count-1)]改为[($i+1)..($t.count-1)] 
    $string | Set-Content $outfile  -Encoding utf8   #输出$string内容到$outfile并将文件保存为UTF8格式

以上

好了,本文就介绍到这里了,感谢您的观看

最新文章

  1. iOS 委托与文本输入(内容根据iOS编程编写)
  2. linux journel
  3. [刘阳Java]_MyBatis_映射文件的resultMap标签入门_第4讲
  4. Meet Github
  5. 用Linux命令wget进行整站下载
  6. 新手容易混乱的String+和StringBuffer,以及Java的方法参数传递方式。
  7. 【BZOJ-1030】文本生成器 AC自动机 + DP
  8. ORACLE 包[转]
  9. 用 HTML 编写博客栏目
  10. java 异常java.lang.UnsupportedOperationException
  11. tomcat安全配置之证书密码加密存储
  12. 1.5 外部销售自动创建为内部PR
  13. drbd.9.0版本部署
  14. Luogu1121:环状最大两段子段和
  15. JS 设计模式五 -- 命令模式
  16. Python连接SQL Server数据库 - pymssql使用基础
  17. 深入浅出Tomcat/1- 来历和配置文件
  18. MVC 添加JS,CSS等版本标签
  19. 【JavaScript】快速入门
  20. tomcat升级 遇到的坑

热门文章

  1. 【java】【File】用File相关类写一个小工具,完成从指定目录下抽取指定文件并复制到新路径下完成重命名的功能
  2. vue-router路由之路-极简教程
  3. PHP 实现大文件视频推流
  4. Kubernetes环境鉴权与自动发现
  5. Prometheus及Grafana监控服务的安装使用
  6. 12、synchronized和Lock的使用
  7. Hadoop详解(04)-Hdfs
  8. 09.什么是synchronized的重量级锁?
  9. 用Java写一个PDF,Word文件转换工具
  10. 工作这么多年,我总结的数据传输对象 (DTO) 的最佳实践