powershell 从文本文件中检索字符串,并过滤出所需字段

powershell 从文本文件中检索字符串,并过滤出所需字段


前言:

在linux服务器上取得Java编译环境各文件夹下所有文件信息时,原文件信息太过繁杂,故简单写成以下脚本文件,提取相关信息。


代码如下:


## grep
#########################################
#检索文件所在路径
$findPath = "C:\wang\PowerShell\test\grep_csv\99L_aplication01.csv"
# 检索字符串
$findString = "/String1/String2/String3/"
#输出文件所在路径
$grepKekka = "C:\wang\PowerShell\test\grep_csv\grepKekka.csv"
$grepKekka1 = "C:\wang\PowerShell\test\grep_csv\grepKekka1.csv"
$grepKekka2 = "C:\wang\PowerShell\test\grep_csv\grepKekka2.csv"
$grepKekka3 = "C:\wang\PowerShell\test\grep_csv\grepKekka3.csv"
# 清空输出文件
Clear-Content $grepKekka -Force
Clear-Content $grepKekka1 -Force
Clear-Content $grepKekka2 -Force
Clear-Content $grepKekka3 -Force

# 检索关键字,输出到文件
$content = Get-Content $findPath | Select-String $findString
$content | where{$_ -ne ""} | Out-File -Width 5000 -FilePath $grepKekka1 -Append

#输出文件按逗号分割
Get-Content $grepKekka1 | ForEach-Object {
    $Line = $_
    if ($Line) {
        $envVarArr = $Line.Split(",")
        $i = $envVarArr.length
        $envVarArr[$i - 1] >> $grepKekka2
    } else {
        # do nothing
    }
}

#fullname文件全名取得
Get-Content $grepKekka2 | ForEach-Object {
    $Line = $_
    if ($Line -match '[.]') {
        $Line >> $grepKekka
    } else {
        # do nothing
    }
}

# "/" 分隔符 文件名取得
Get-Content $grepKekka | ForEach-Object {
    $Line = $_
    $envVarArr = $Line.Split("/")
    $i = $envVarArr.length
    $envVarArr[$i - 1] >> $grepKekka3
}


输入文件(99L_aplication01.csv):

aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,fffffffff
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback1.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback2.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback3.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback4.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback5.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback6.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback7.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,fffffffff
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,

输出文件(grepKekka.csv):

/String1/String2/String3/ear/resources/logback1.xml
/String1/String2/String3/ear/resources/logback2.xml
/String1/String2/String3/ear/resources/logback3.xml
/String1/String2/String3/ear/resources/logback4.xml
/String1/String2/String3/ear/resources/logback5.xml
/String1/String2/String3/ear/resources/logback6.xml
/String1/String2/String3/ear/resources/logback7.xml

输出文件(grepKekka1.csv):


aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback1.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback2.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback3.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback4.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback5.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback6.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback7.xml
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/
aaaaaaa,bbbbbbb,ccccc,ddddd,eeeee,,/String1/String2/String3/ear/resources/logback



输出文件(grepKekk2.csv):

/String1/String2/String3/ear/resources/logback1.xml
/String1/String2/String3/ear/resources/logback2.xml
/String1/String2/String3/ear/resources/logback3.xml
/String1/String2/String3/ear/resources/logback4.xml
/String1/String2/String3/ear/resources/logback5.xml
/String1/String2/String3/ear/resources/logback6.xml
/String1/String2/String3/ear/resources/logback7.xml
/String1/String2/String3/ear/
/String1/String2/String3/ear/resources/
/String1/String2/String3/ear/resources/logback

输出文件(grepKekka3.csv):

logback1.xml
logback2.xml
logback3.xml
logback4.xml
logback5.xml
logback6.xml
logback7.xml


总结:

在linux服务器上取得Java编译环境各文件夹下所有文件信息时,原文件信息太过繁杂,故简单写成以下脚本文件,提取相关信息。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小泉映月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值