楼 主
怎么把多个文本文件的标题提出并显示出来
发表于 2007-07-06 00:14 · 中国 福建 厦门 电信
初级用户
★
积分 32 发帖 13 注册 2006-03-27 23:17 20年会员 UID 52913
状态 离线
我编处理,对多个文本文件进行操作,文件内容例如:
例1
1 ]
-----------------------------------------------
近期加强学习的通知
2007年5月3日,我局...
例2
2]
-----------------------------------------------
关于暑期安全工作
2007年6月30日,暑期就要到了
...
例3
3]
-----------------------------------------------
放假通知
2007年9月29日,国庆放假七天...
以上蓝字的内容和位置在文件中是不变的,红字是变化的,我想把横杠“-------”下面的标题提出来(“-------”的长度和位置都是固定的),并用echo显示出来,怎样能办到呢?
第 2 楼
发表于 2007-07-06 01:20 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
bat:
@echo off&SetLocal EnableDelayedExpansion
for %%a in (*.txt) do (
for /F "usebackq delims=" %%b in ("%%a") do (
if defined batch echo\%%a:%%b
echo\%%b|findstr /c:"-------" >nul 2>nul &&set batch=batch||set batch=
)
)
pause
sed:
sed -n "/-------------/{n;p}" *.txt
awk:
gawk "{if($0~/---------/)a=NR+1;if(NR==a)print FILENAME\":\"$0;}" *.txt
用三方工具(sed / gawk)来解决更简单。
[
Last edited by lxmxn on 2007-7-6 at 01:23 AM ]
第 3 楼
看来用sed很方便
发表于 2007-07-07 11:26 · 中国 福建 厦门 电信
初级用户
★
积分 32 发帖 13 注册 2006-03-27 23:17 20年会员 UID 52913
状态 离线
谢谢,很详细,看起来用sed最方便,不过我一直找不到关于sed的详细命令格式,一些关于sed的格式我用了都报错。哪里有详解啊
第 4 楼
发表于 2007-07-07 15:54 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
Originally posted by toy at 2007-7-7 11:26:
谢谢,很详细,看起来用sed最方便,不过我一直找不到关于sed的详细命令格式,一些关于sed的格式我用了都报错。哪里有详解啊
搜索用户名 “无奈何” 。
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正