[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. o( ̄▽ ̄)o 2015/11/16 周一21:56:55.21 <( ̄︶ ̄)>
  2. D:\快盘\我写的程序\temp>fr a.txt -ric:(\"[0-9,a-z]+)\r\n -t:"\1" -stdout
  3. "1","12","123","1234"
  4. "A","AB","ABC","ABCD"
  5. "R","RS","RST","RSTU"
  6. "E","EF","EFG","EFGH"
复制代码
不需要跨行匹配也可以。

试了半天。思路是结尾不是“符号就把回车换行替换成空。
http://baiy.cn/utils/fr/index.htm
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

本帖最后由 依山居 于 2015-11-17 17:07 编辑
  1. """
  2. python把不以引号结尾的行与下一行连接
  3. 题目来源 http://www.bathome.net/thread-38164-1-1.html
  4. 依山居  13:13 2015/11/17
  5. 就是当是练习列表解析用法了
  6. """
  7. newtxt=[]
  8. with open("a.txt") as f:
  9.     txt=f.readlines()
  10.     txt=[r.rstrip() for r in txt]
  11.     rn=len(txt)
  12.     print("总行数:",rn)
  13.     newtxt=[txt[r][:]+txt[r+1][:] if ('\"' not in txt[r][-1]) else txt[r] for r in range(rn) ]
  14.     newtxt=[r+"\n" for r in newtxt if '\"' in r[0]]
  15.     f.close()
  16.    
  17. with open("b.txt","w+") as f:
  18.     f.writelines(newtxt)
  19.     f.close()
复制代码
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

太烦了。
有空行?
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 13# CrLf


    他给的例子也是真实文件,鬼知道他实际数据是怎么样的。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 12# qq253040425


    代码更新了。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 17# qq253040425


    自己学一学正则表达式式啦。sed 和fr都是支持正则找查替换的工具。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

你倒是真NB。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 21# qq253040425

其中我也不会。自己百度啦。
就是打包成EXE

你用python mini打包成exe也可以。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

本帖最后由 依山居 于 2015-11-18 10:16 编辑

从楼主给的例子看,我的代码可靠性差啊。我的代码判断的是不以“结尾的行与下一行连接。
第二行不以“开头,但是第一行”结尾。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 27# qq253040425


    下次再提问传实际文件,敏感信息用其它字替换掉就行。

我不熟悉db2 的del文件格式。
导出的数据,固定是多少列?
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 29# qq253040425

我直觉认为。这货要能正常工作必须固定列。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 29# qq253040425


    你需要把各种情况整理到汇总到帖子里。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

  1. @echo off
  2. ::依山居 13:01 2015/11/18
  3. ::fr 不带-stdout参数会直接修改原文件,所以复制s.txt为ss.txt运行测试
  4. ::fr 使用-s 可以列举子目录修改匹配的文件。注意做好备份
  5. copy s.txt ss.txt /y
  6. ::以引号结尾,不以引号开头,就删掉回车换行。这个规则好处理测试可行。
  7. fr ss.txt -rnnlic:\"(\r\n)[^\"] -t:
  8. pause
复制代码
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 36# qq253040425

也只能这样了。这代码是按你原先说明的规则写的。容错性差是意料之中的。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 39# qq253040425


    很难改的。你搜索列表解析
我不会用列表解析作复杂的判断。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

返回列表