Board logo

标题: [文本处理] 批处理如何实现将文本按指定相隔的行数删除相应的行 [打印本页]

作者: hzusb    时间: 2015-12-13 15:33     标题: 批处理如何实现将文本按指定相隔的行数删除相应的行

本帖最后由 pcl_test 于 2015-12-14 00:09 编辑

txt中有很多行文字,如何能做到,隔一行(或隔4行),把整行删除,并且删除的这一行不留空行!
作者: DAIC    时间: 2015-12-13 21:28

  1. @echo off
  2. gawk "NR%%2" 1.txt > 2.txt
复制代码

作者: CrLf    时间: 2015-12-13 22:05

本帖最后由 CrLf 于 2015-12-14 02:44 编辑

隔一行:
  1. @sed "0~2d" 1.txt >2.txt
复制代码
隔四行:
  1. @sed "0~5d" 1.txt >2.txt
复制代码

作者: codegay    时间: 2015-12-13 23:18

  1. """
  2. 文本文件隔行删除或每隔几行删除
  3. http://www.bathome.net/thread-38581-1-1.html
  4. 依山居 21:49 2015/12/13
  5. python代码量略大~
  6. """
  7. with open("1.txt") as f:
  8.     txt=f.readlines()
  9. ln=len(txt)
  10. result=[txt[r-1] for r in range(1,ln+1) if r%2 !=0]
  11. [print(r) for r in result]
  12. with open("result.txt","w+") as f:
  13.     f.writelines(result)
复制代码

作者: hzusb    时间: 2015-12-14 09:26

谢谢以上朋友,为什么我一个代码都没成功实现,生成的2.txt都是空的?
作者: pcl_test    时间: 2015-12-14 12:26

回复 5# hzusb

你得下载相应的第三方
作者: codegay    时间: 2015-12-14 13:04

回复 6# pcl_test


    11年的帐号。还是什么都不懂。
作者: 尘丶    时间: 2015-12-14 21:47

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (1.txt) do if defined n (set n=) else (echo;%%a&set n=1)
  3. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2