基于不同文本文件的行,使用powershell替换文本文件的行

NES之王

因此,我有2个文件具有相同的所列内容样式-字体ID,字体定义和时间戳。我想获取第二个新字体文件,并替换第一个文件中具有匹配字体ID的行-使用powershell(无需数据库,这将极大地简化)。

File2文本行= [FontIDA01] 5,5,5,5,randomtext,11/10/2001应该替换File1中[FontIDA01]匹配的行,并将5,5,5,5替换为6,6, 6,6,以及日期以及该行上的日期。

$content = Get-Content $fileSelected #(path chosen by user)
$masterContent = Get-Content $masterContentPath #(hardcoded path)
foreach($line in content)
{
   $fontID = $line.SubString($startFontID, $endFontID)#this just sets font id = 23jkK instead of [23jkK]
   foreach($masterLine in $masterContent)
   {
      if ($masterLine.Contains($fontID))
      {
         $masterContent -replace $masterLine, $line where-Object{$_.Name -contains $fontID} | Set-Content $masterContent -raw 
      }
   }
}

我什至靠近吗?

wOxxOm

收集字典中的新数据并将其用于替换:

# get new data in a dictionary
$newData = @{}
Get-Content 2.txt | %{
    $parts = $_ -split ' '
    $newData[$parts[0]] = @{numbers=$parts[1]; date=$parts[3]}
}

#patch original data using the new data dictionary
Get-Content 1.txt | %{
    $parts = $_ -split ' '
    $id = $parts[0]
    $new = $newData[$id]
    if ($new) {
        $id, $new.numbers, $parts[2], $new.date -join ' '
    } else {
        $_
    }
} | Out-File 3.txt -Encoding utf8

该代码假设字段之间用空格隔开,因此,如果不是这种情况,则必须使用其他方法来提取部分内容,例如Select-Stringregexp或regexp if ($_ -match '(.+?) ([\d,]+) and so on') { $id = $matches[0] }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用PowerShell替换文本文件的内容

来自分类Dev

使用Powershell替换文本文件中的路径

来自分类Dev

Java替换文本文件中的行

来自分类Dev

Linux替换文本文件中的行

来自分类Dev

Java替换文本文件中的行

来自分类Dev

替换文本文件中的行(最后)bash

来自分类Dev

匹配并替换文本文件的特定行

来自分类Dev

如何替换文本文件中的行?

来自分类Dev

使用 sed 替换文本文件中 2 个特定行之间的文本

来自分类Dev

使用php替换文本文件中的特定行,同时保留其余文件

来自分类Dev

用其他文本文件中的行替换文本文件中的行

来自分类Dev

使用VBS替换文本文件中的文本

来自分类Dev

从另一个文本文件替换文本文件中的行

来自分类Dev

批处理 - 使用 for 循环替换文本文件中的行,包括空行

来自分类Dev

使用AppleScript查找和替换文本文件

来自分类Dev

如何交换文本文件中的行?

来自分类Dev

用新行替换文本文件中的行

来自分类Dev

用新行替换文本文件中的行

来自分类Dev

基于文本批量移动文本文件中的行

来自分类Dev

如何使用Powershell替换文本文件中的路径

来自分类Dev

使用PowerShell替换文本文件中的特殊字符

来自分类Dev

从文本文件读取结构向量,但文本文件行的长度不同

来自分类Dev

Unix Shell脚本:合并2个不同文本文件的数据(行)

来自分类Dev

替换文本文件Golang中的一行

来自分类Dev

替换文本文件中一行的字段

来自分类Dev

删除行并替换文本文件中的字符串

来自分类Dev

仅替换文本文件中的一行

来自分类Dev

Python如何替换文本文件中特定行中的特定单词?

来自分类Dev

用CR + LF替换文本文件中的LF,NEL行结尾

Related 相关文章

热门标签

归档