标题: [文本处理] 批处理如何在指定行的行尾添加字符串? [打印本页]
作者: bbs9999 时间: 2016-2-18 13:53 标题: 批处理如何在指定行的行尾添加字符串?
如何在指定行的行尾添加字符串?
有一个文本abc.txt,要在指定行(如第3行)的行尾添加个“;”,该如何写?
搜了下以前的,基本都是在所有行添加,我要在指定行行尾添加
作者: codegay 时间: 2016-2-18 15:45
python- """
- 如何在指定行的行尾添加字符串.py
- http://bbs.bathome.net/thread-39409-1-1.html
- 2016年2月18日 15:39:44 codegay
- python
- """
- with open("a.txt","r+") as f:
- txt=f.readlines()
- txt[2]=txt[2].rstrip("\n")+";\n"
- f.seek(0)
- f.writelines(txt)
复制代码
作者: ivor 时间: 2016-2-18 22:01
回复 1# bbs9999
不明白楼主的意思,一个文本,指定一行加";",这还要写脚本吗,手动不是更快?
作者: codegay 时间: 2016-2-18 22:31
回复 3# ivor
某些自动化的场景下,修改某个配置文件之类的。可能是只需要修改一处。
作者: bailong360 时间: 2016-2-18 23:11
复制代码
作者: k1314521jx 时间: 2016-2-18 23:42
@echo off & setlocal enabledelayedexpansion
for /f "delims=" %%i in (abc.txt) do (
set /a i+=1
set var=%%i;
if /i "!i!"=="3" ( echo !var!>>abc_1.txt ) else (echo %%i>>abc_1.txt)
)
pause
要第几行加; 改一下数字就好了
不过这个代码得要你文本中的每行没空格,有的话会有问题
作者: wzf1024 时间: 2016-2-19 20:33
行首行尾随你便,不加内容留空就行,“equ 3”的3可以随意改成想要的行数(注意:bat所在以及子文件夹的所有txt都会被改动):- @echo off
- set "行首=$$$$"
- set "行尾=####"
- for /f "delims=" %%i in ('dir /s /b *.txt') do (
- (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%%i"') do (
- if %%a equ 3 (echo %行首%%%b%行尾%) else (echo.%%b)
- ))>$
- move $ "%%i"
- )
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |