![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 00:43 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 【共享】P者,sed不可不学 |
| 可打印版本 10,714 / 45 |
| 第1楼 plp626 | 发表于 2008-05-31 04:22 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
【共享】P者,sed不可不学 大家在这个帖子里尽管讨论文本,字符处理的问题,但是回答者尽量用sed处理
(只要处理的效率高,也可考虑用sed+for+其他,总之外部工具就只提供sed)------OS: windows NT系列 目的------就是为了大家很好地学习sed,带着问题学,这从实践中学习 我也在学,以前总是半途而废,这个帖子发了,就真正从这里开始sed的学习旅程了,希望有你同行。。。。 1,输出文本时(这5个字在以后省略)怎样显示一个文本的前10行?最后1行? 解释:$表示....d,p表示,-n参数....举个例子..... 2,将文本的“;”“,”作为换行符其他字符不变? 解释:...... 3,显示文本第20行到25行之间的内容? √----3楼 4,显示文本的奇数行?偶数行? √----4楼 5,在文本里包含"爱你"的字符换成”【爱你】“,包含“恨你”的字符换成"(恨你)"输出? √----5楼 6,将文本里的这些字符%:^?<>*/\|&全部替换为空格? √----6楼 7,怎么显示纯英文行,中文行?中英文混合行? 8,将奇偶行拼接成一行,比如12行合并,34行合并....? 9,如果当前行是以"我"字开头,怎么将它合并到上一行? 10,将每一行首、尾、的所有空格删除? √----7,12楼 11,给每一行的开头加上"echo"? √----8楼 12,如果某行的行尾是以"。"结尾,就删除"。" √----13楼 13,如果某行多于10个字符,就只显示该行前10个字符? 14,如果某行包含数字,以20个字符为宽度将数字右对齐? 15,倒置所有行,第一行成为最后一行,依次类推..... 16,将行中的字符逆序排列,第一个字成为最后一字,…… 17,在每5行后增加一空白行 18,显示所有重复行 19,在每行的第5个与第6个字符之间插入”/*“,第10与第11个字符之间插入"*/"。如果某行少于11个字符补空格后插入。 20,对一个文件夹下的N个TXT文件进行处理,对每一个TXT里的每一行前面都加入000 √----27楼 21,分割文本,将其1到100行保存为a_1.txt,101-200行保存为a_2.txt,以此类推... 22,按如下顺序重新排列行数:1,11;2,12;...;9,19;10,20;后面的行以此类推(每20行一个周期) 23,A文本每行插入到B文本中对应行后面,例如,A的第一行插到B的第一行后面,A的第二行插到B的第二行后面,以此类推。。。 ..... 问题还多者呢,先问这些, 大家能想到什么文本处理的问题就发,然后我来回答。我不会了大家回答, 大家在回答时,最好能附上一定的解释,如果自己对所用的参数比较了解,能讲解就更好了,一来方便其他人学习,二来时间长了,自己下次浏览此贴时也是个参考(只是建议,仅此) 好了,征集答案。。。 [ Last edited by plp626 on 2008-6-3 at 07:57 AM ] |
|
| 第2楼 plp626 | 发表于 2008-05-31 04:29 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
sed工具,各类帮助文档下载:
http://upload.cn-dos.net/img/498.rar 我就收集了这些: kongge.txt sed1line.txt sed.exe sed.pdf sed_readme.txt SED单行脚本快速参考.txt |
|
| 第3楼 HAT | 发表于 2008-05-31 10:01 |
| 版主 发帖 5,017 积分 9,023 | |
|
3,显示文本第20行到25行之间的内容?
|
|
| 第4楼 HAT | 发表于 2008-05-31 10:19 |
| 版主 发帖 5,017 积分 9,023 | |
|
4,显示文本的奇数行?偶数行?
|
|
| 第5楼 HAT | 发表于 2008-05-31 10:24 |
| 版主 发帖 5,017 积分 9,023 | |
|
5,在文本里包含"爱你"的字符换成”【爱你】“,包含“恨你”的字符换成"(恨你)"输出?
|
|
| 第6楼 HAT | 发表于 2008-05-31 10:28 |
| 版主 发帖 5,017 积分 9,023 | |
|
6,将文本里的这些字符%:^?<>*/\|&全部替换为空格?
|
|
| 第7楼 HAT | 发表于 2008-05-31 13:15 |
| 版主 发帖 5,017 积分 9,023 | |
|
10,将每一行首、尾、的所有空格删除?
|
|
| 第8楼 HAT | 发表于 2008-05-31 13:16 |
| 版主 发帖 5,017 积分 9,023 | |
|
11,给每一行的开头加上"echo"?
|
|
| 第9楼 HAT | 发表于 2008-05-31 13:18 |
| 版主 发帖 5,017 积分 9,023 | |
|
12,如果某行的行尾是以"。"结尾,就删除"。"
|
|
| 第10楼 joyn | 发表于 2008-05-31 13:18 |
| 中级用户 发帖 105 积分 280 来自 广西 | |
|
外部命令......
|
|
| 第11楼 radem | 发表于 2008-05-31 18:15 |
| 高级用户 发帖 383 积分 691 | |
|
下来学习。。。
|
|
| 第12楼 vkill | 发表于 2008-05-31 19:38 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
10,将每一行首、尾、的所有空格删除?
|
|
| 第13楼 terse | 发表于 2008-05-31 21:24 |
| 银牌会员 发帖 946 积分 2,404 | |
|
sed命令好难懂
如果某行的行尾是以"。"结尾,就删除"。" |
|
| 第14楼 slore | 发表于 2008-05-31 22:11 |
| 铂金会员 发帖 2,478 积分 5,212 | |
VBS...飘过……9. 替换 回车+我,我 ![]() |
|
| 第15楼 pooronce | 发表于 2008-05-31 22:15 |
| 中级用户 发帖 250 积分 484 | |
|
13
sed不支持大括号确定字符数,所以只好用10个点来代表10个字符了,用\( \)括起来自动编号为第一组,也就是说把10个字符后面的都清空了。 [ Last edited by pooronce on 2008-6-1 at 09:11 PM ] |
|
| 1 2 3 4 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |