如何批量把文本文件里的每一位的数据进行截取然后添加?
发布网友
发布时间:2022-04-06 12:20
我来回答
共5个回答
热心网友
时间:2022-04-06 13:50
用软件Replace Pioneer可以很方便地按要求处理一个或多个文件。
单文件处理的详细步骤如下:
1. ctrl-o打开文件
2. ctrl-h打开replace窗口
* 把replace unit改选为Line
* 在replace with pattern输入0chars($match,6,-1)\n即可
3. 点击replace,完成,ctrl-s存盘
如果是多文件,在以上最后一步点击Batch按钮,打开Batch Runner,把多个文件从windows拖拽到窗口中,点击Batch Replace即可。
注意提前备份,以防操作失误。
其他功能可参考百度百科:
参考资料:http://ke.baidu.com/view/1750004.htm
热心网友
时间:2022-04-06 15:08
用宏就行了,因为你替换的都是固定的前5位数。
宏主要用来处理有规律的重复的工作,相当于批处理。想好了就能编辑出来。工具→宏→录制新宏→然后指定一个快捷键(如L,相当于ctrl L快捷键),然后指定、关闭。开始录制宏。把你能够重复的操作执行一下,以计算机能识别的重复为准。然后→工具→宏→停止录制。这样宏就录制出来了。你ctrl L执行就行了。连续按,则连续执行。如果不完全正确,还要修改或重新录制宏。
你要执行的宏命令核心是替换
查找里面输入
^p^#^#^#^#^#
找到后,删掉,这5个,然后输入0
结束宏的录制。然后执行宏就行了。,转眼这些数字就替换ok了。
大侠在线358725389@qq.com
2011年3月18日
热心网友
时间:2022-04-06 16:42
把下面代码保存为XX.bat,然后把要处理文件拖到这批处理文件的图标上即可(或运行时再拖文件)
@echo off&setlocal enabledelayedexpansion
if "%~1"=="" (set/p f= 请把要处理文件拖到此处回车)else set f=%~f1
(for /f "usebackq delims=" %%i in ("%f%")do (
set h=%%i
echo 0!h:~5!))>newf.txt
move/y newf.txt "%f%"
start "" notepad "%f%"追问一运行,什么都没有了
追答你怎么运行的?我是测试了的。最好HI 交谈一下,刚看到补充的希望去重复行,再帮你改写一个在批处理里写定文件名的,放要处理文件同位置运行即可:
@echo off&setlocal enabledelayedexpansion
::下一行等号后改为你的实际文件名
set f=1.txt
(for /f "usebackq delims=" %%i in ("%f%")do (
if not defined %%i (
set h=%%i&set %%i=y
set h=0!h:~5!
echo.!h!
)))>"new%f%"
move/y "new%f%" "%f%"
start "" notepad "%f%"
热心网友
时间:2022-04-06 18:34
例如: 原数据000980133312:302011031701
修改后00133312:302011031701
把每一行文本文件的前5位替换为0
替换为空应该是 0133312:302011031701
替换为0 是 000000133312:302011031701
可是这个是神马啊 00133312:302011031701追问呵呵,准确的说应该是把前5位删除掉,然后在每一行文本的前面加上数字0