Board logo

标题: [文本处理] 【已解决】批处理如何分别提取若干txt文本的第一行数据? [打印本页]

作者: 思想之翼    时间: 2013-4-19 02:40     标题: 【已解决】批处理如何分别提取若干txt文本的第一行数据?

本帖最后由 思想之翼 于 2013-4-19 18:26 编辑

有若干txt文本,列数相同,行数不定,欲分别提取若干txt文本的第一行数据,依次写入新建txt文本的第一行、第二行、第三行......恳望得到大家的帮助!
作者: tmplinshi    时间: 2013-4-19 05:36

  1. sed -s "1! d" *.txt >___1.txt
复制代码

作者: 思想之翼    时间: 2013-4-19 11:43

回复 2# tmplinshi


    谢谢您的热心帮助!具体运用时,不能提取数据,烦请帮助看看,什么地方有误?
作者: BAT-VBS    时间: 2013-4-19 12:07

回复 3# 思想之翼


你的sed.exe是什么版本?

D:\Test>sed -s "1! d" *.txt
4       8       4       8       2
8       9       5       6       6
3       8       6       6       8
9       0       6       6       3
3       6       0       9       1

D:\Test>sed --version
sed (GNU sed) 4.2.2
作者: 思想之翼    时间: 2013-4-19 18:26

回复 4# BAT-VBS


    谢谢提醒,代码运行正常。等回家在win7 64位操作系统下试试,希望也能够正常运行。
作者: CrLf    时间: 2013-4-19 18:42

  1. @echo off
  2. (for %%a in (*.txt) do (
  3.    setlocal enabledelayedexpansion
  4.    set /p "firstline="
  5.    echo !firstline!
  6.    endlocal
  7. )<%%a)>第一行.tmp
  8. move /y 第一行.tmp 第一行.txt
  9. pause
复制代码

作者: 思想之翼    时间: 2013-4-20 11:41

回复 6# CrLf

谢谢您的热心帮助!验证了一下,好像数据提取不是按照txt文本标号依次从上到下顺序提取,比如01.txt文本第一行数据排在了第39行,不知何故。




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