Board logo

标题: [问题求助] powershell如何在原tXt文件中实现合并相邻两行并排序? [打印本页]

作者: suchost    时间: 2015-10-18 15:53     标题: powershell如何在原tXt文件中实现合并相邻两行并排序?

现有a.txt,内容如下:
aaaa
bbbb
cccc
dddd
1111
2222
3333
4444
想要通过powershell处理后,得到a.txt的结果如下:
1111,2222
3333,4444
aaaa,bbbb
cccc,dddd
并保存,如何实现?初学powershell,请高手赐教,先谢了!
作者: CrLf    时间: 2015-10-18 18:32

1111 变成第一行是依据什么逻辑
作者: suchost    时间: 2015-10-21 10:29

回复 2# CrLf


    先数字后英文字母排序
作者: CrLf    时间: 2015-10-21 15:58

本帖最后由 CrLf 于 2015-10-21 16:40 编辑
  1. $a = type a.txt
  2. 1..($a.length/2) | %{$a[$_] + "," + $a[$_+1]} | sort
复制代码

作者: jack_lee    时间: 2015-12-2 16:37

我的代码比较粗糙,适合初学者
  1. $item = get-item C:\Users\12HS\a.txt;
  2. $i = 0;
  3. $str = "";
  4. Get-Content $item | ForEach-Object{
  5.                                 if ($i % 2 -eq 0)
  6.                                 {
  7.                                     $str += $_ + ","
  8.                                   }
  9.                                   else
  10.                                   {
  11.                                     $str += $_ + "`r`n";
  12.                                    }
  13.                                    
  14.                                    $i = $i + 1;
  15.                               }
  16. Out-File -FilePath t.TXT -Encoding ascii  -InputObject $str;
  17. Get-Content t.TXT |Sort-Object |Out-File -FilePath OUT.TXT
  18. Remove-Item t.txt
  19.   
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2