我想翻转包含 500 多行的文档的行顺序。这些行不仅仅是数字,有些还包括文本和其他字符。它们是混合的。
例子:
1号线 2号线 3号线 4号线 5号线 6号线
然后我想将其从下到上翻转、反转并如下所示:
6号线 5号线 4号线 3号线 2号线 1号线
答案1
除了通常包含的 TextFX 插件之外不需要其他软件的解决方案:
- 编辑 > 全选
- TextFX > TextFX 工具 > 插入行号
- 如果已选中 TextFX > TextFX Tools > +Sort rising,请取消选中它
- TextFX > TextFX 工具 > 对行进行区分大小写排序(在列)
- TextFX > TextFX 工具 > 删除行号或首字
答案2
编辑:较新版本的 Notepad++ (v8.0+) 现在直接支持反转行顺序。只需转到:
Edit -> Line Operations -> Reverse Line Order
请注意,它将反转所选行的顺序,如果没有选择任何内容,则反转文件中的所有行。
由于菜单很满,这里有一个视觉提示:
对于老版本的Notepad++,仍然可以使用之前的策略。
这也可以在没有 TextFX 插件的情况下在 Notepad++ 中完成。它遵循与接受答案相同的策略,但使用本机功能。它按如下方式完成:
- 编辑 > 全选
- 编辑 > 列编辑器... > 选择要插入的数字 > 将初始数字设置为 1 > 将增加设置为 1 > 检查前导零 > 单击确定
- 编辑 > 行操作 > 按降序对行进行排序 编辑:最近的更新添加了额外的排序选项,该选项:按字典顺序降序排序似乎可以完成这项工作。
- 通过框选择(Alt+左键单击拖动或 Alt+Shift 选择)或搜索/替换删除行号
答案3
好吧,既然我们给出了代码示例,如果您使用的是 Windows 7 或者在另一个版本的 Windows 上安装了 PowerShell,那么:
$foo = New-Object System.collections.arraylist;
$foo.AddRange($(Get-Content 'C:\Path\To\File.txt));
$foo.Reverse();
$foo | Out-File C:\Path\To\File.txt
或者对于非编码答案,请下载维姆,打开文件并输入:
:g/^/m0
答案4
这是一种非编码方式:
- 下载/安装 TextPad 免费试用版
- 打开电子表格程序(例如 Excel),在单元格 A1 中输入“1000”,然后在单元格 A2 中输入 A1+1,然后将其复制到 A500,在“A”列中创建数字 1000 到 1500。
- 在 TextPad 中打开文本文件
- 在 TextPad 中更改为“块模式”
- 将电子表格中的 A 列粘贴到 TextPad 中(由于块模式,所有内容最终都会出现在左边距)
- 使用 TextPad 排序功能,降序
- 使用 TextPad 块模式删除来删除数字