我正在使用记事本++。我有一个很大的文件(1gb),它使用管道作为分隔符。不幸的是,文件中有一列的数据也使用管道。有没有一种方法可以指定一百万行的列范围(例如300-350),以找到管道并将其替换为破折号。
答案 0 :(得分:0)
对于非常大的文件,请使用命令行工具来分析文件。 对于1GB的可视编辑器,适得其反。
完成任务最流行的工具是awk
。
安装GIT后,您可以在Bash shell中使用awk
。
我最喜欢的Windows Bash Shell替代软件免费提供Mobaxterm。
或者使用Windows 10中内置的Bash shell。
如果您从大型文件中发布了几个示例行,并发布了另一个问题,那么贡献者也将为您提供awk
。
一旦有了文本处理工具,提取前10行的工具就是head
。
head largeFile.txt
在此answer中,还有一种PowerShell
解决方案可以从大型文件中提取前几行。
答案 1 :(得分:0)
^.{300}[^|]{0,50}+\K\|
(在您方便时调整值)-
. matches newline
* 说明:
^ # beginning of line
.{300} # 300 any character but newline
[^|]{0,50} # 0 up to 50 any character that is not a pipe
\K # forget all we have seen until this position
\| # a pipe
我用一个较小的文件进行了测试,它将第13列和第22列之间的管道替换为连字符以显示该方法,并根据需要调整值:
屏幕截图(之前):
屏幕截图(之后):