找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20633|回复: 4

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

[复制链接]
发表于 2015-10-18 15:53:16 | 显示全部楼层 |阅读模式
现有a.txt,内容如下:
aaaa
bbbb
cccc
dddd
1111
2222
3333
4444
想要通过powershell处理后,得到a.txt的结果如下:
1111,2222
3333,4444
aaaa,bbbb
cccc,dddd
并保存,如何实现?初学powershell,请高手赐教,先谢了!
发表于 2015-10-18 18:32:15 | 显示全部楼层
1111 变成第一行是依据什么逻辑
 楼主| 发表于 2015-10-21 10:29:43 | 显示全部楼层
回复 2# CrLf


    先数字后英文字母排序
发表于 2015-10-21 15:58:04 | 显示全部楼层
本帖最后由 CrLf 于 2015-10-21 16:40 编辑
  1. $a = type a.txt
  2. 1..($a.length/2) | %{$a[$_] + "," + $a[$_+1]} | sort
复制代码
发表于 2015-12-2 16:37:42 | 显示全部楼层
我的代码比较粗糙,适合初学者
  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.   
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 03:09 , Processed in 0.018149 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表