小编bil*_*man的帖子

根据文件中每行文本中的第一个字符附加文本

我有一个需要操作的文本文件。文本文件中的示例数据如下所示:

C02324R
C02645R
F06487R
F05564R
S09687R
J03345R
Run Code Online (Sandbox Code Playgroud)

这是需要发生的事情——

  1. 遍历文本文件中的每一行
  2. 如果第一个字符是“C”,则将“3”附加/添加到文本行的末尾。
  3. 如果第一个字符是“S0”,则在文本行的末尾附加/添加“4”。
  4. 如果第一个字符是“S1”,则在文本行末尾附加/添加“5”。
  5. 如果第一个字符是“F”,则在文本行末尾附加/添加“5”。
  6. 如果第一个字符是“J”,则在文本行末尾附加/添加“6”。

因此,最终结果数据将如下所示——

C02324R3
C02645R3
F06487R5
F05564R5
S09687R5
J03345R6
Run Code Online (Sandbox Code Playgroud)

我可以轻松地在 vba excel 中编写此内容,但我对 powershell 缺乏经验。我尝试过 switch、foreach 和 case 语句,大部分来自借用的代码,但似乎无法使其工作。这是我尝试过的一种方法——

switch -file 'C:\MyFile.txt'
    {
        $_.StartsWith("C")  {$_ +  "3"}
        $_.StartsWith("S0")  {$_+  "4"}
        $_.StartsWith("S1")  {$_ +  "5"}
        $_.StartsWith("J")  {$_ +  "6"}
    }
    $data | Set-Content C:\MyFile.txt -Force*
Run Code Online (Sandbox Code Playgroud)

建议?

powershell text append

3
推荐指数
1
解决办法
173
查看次数

标签 统计

append ×1

powershell ×1

text ×1