楼 主
使用sed在文件尾部添加字符的问题
发表于 2006-11-21 02:37 · 中国 河南 许昌 电信
新手上路
★
积分 18
发帖 8
注册 2006-04-06 07:45
20年会员
UID 53402
性别 男
状态 离线
我在论坛翻到一个
sed "s/^/\/span>/;s/\x24/\/span>/" test.txt
这样的命令,是在test.txt首部和尾部添加 /span> 的
我稍微修改了一下: sed "s/\x24/\/<tr>/" test.txt
是只在test.txt的尾部添加<tr>
我想问的是,如何添加</tr>呢?
我把上面那个命令改成 sed "s/\x24/\/</tr>/" test.txt 结果就提示我:
sed: -e expression #1, char 12: Unknown option to `s'
该用什么来代替 / 呢?
另外。。还有一个问题。。就是如果我像批量在一些文件尾部添加字符,例如</tr>
文件名存在规律,例如:
test1.txt、test2.txt、test3.txt....
该怎么做啊?~
谢了!
第 2 楼
发表于 2006-11-21 02:41 · 中国 河南 许昌 电信
新手上路
★
积分 18
发帖 8
注册 2006-04-06 07:45
20年会员
UID 53402
性别 男
状态 离线
第 3 楼
发表于 2006-11-21 02:47 · 中国 河南 许昌 电信
新手上路
★
积分 18
发帖 8
注册 2006-04-06 07:45
20年会员
UID 53402
性别 男
状态 离线
呵呵~还有
如何把修改过的内容仍然保存在test.txt中
我试了用 >test.txt ,但是这样得到的test.txt是空内容
用 >> 的话,是追加。。
第 4 楼
发表于 2006-11-21 02:58 · 中国 河南 许昌 电信
新手上路
★
积分 18
发帖 8
注册 2006-04-06 07:45
20年会员
UID 53402
性别 男
状态 离线
呵呵,第一个问题解决了~
sed "s/\x24/\<\/tr>/" 1.txt
sed和正则表达式
s e d识别任何基本正则表达式和模式及其行匹配规则。记住规则之一是:如果要定位一特殊字符,必须使用( \)屏蔽其特殊含义
找到了这个~
还剩下两个问题。。。
1. 如果我像批量在一些文件尾部添加字符,例如</tr>
文件名存在规律,例如:
test1.txt、test2.txt、test3.txt....
2. 如何把修改过的内容仍然保存在test.txt中
我试了用 >test.txt ,但是这样得到的test.txt是空内容
用 >> 的话,是追加。。
第 5 楼
发表于 2006-11-21 03:06 · 中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
在每行的尾部添加字符<tr>,而不是在每个文件的尾部追加,演示代码如下:
@echo off
for /f "delims=" %%i in (test.txt) do >>test_1.txt echo %%i^<tr^>
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
第 6 楼
发表于 2006-11-21 03:07 · 中国 河南 许昌 电信
新手上路
★
积分 18
发帖 8
注册 2006-04-06 07:45
20年会员
UID 53402
性别 男
状态 离线
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
用这个参数?可是这个参数是备份的啊
第 7 楼
发表于 2006-11-21 03:12 · 中国 河南 许昌 电信
新手上路
★
积分 18
发帖 8
注册 2006-04-06 07:45
20年会员
UID 53402
性别 男
状态 离线
比如有test1.txt、test2.txt、test3.txt....这些文件,如何直接在每个原文件的尾部添加</tr>啊?
我用sed的 sed "s/\x24/\<\/tr>/" 1.txt > 2.txt
只能在1.txt的尾部添加 </tr> ,并输出为 2.txt
第 8 楼
发表于 2006-11-21 03:13 · 中国 河南 许昌 电信
新手上路
★
积分 18
发帖 8
注册 2006-04-06 07:45
20年会员
UID 53402
性别 男
状态 离线
我搜索到一些资料,说sed如何想直接修改原文件的话只需要加一个 -i 但是我这样做的结果还是生成了两个,一个修改过的,一个备份的,并没有在原文件中修改
第 9 楼
发表于 2006-11-21 08:04 · 中国 河南 许昌 电信
新手上路
★
积分 18
发帖 8
注册 2006-04-06 07:45
20年会员
UID 53402
性别 男
状态 离线
第 10 楼
发表于 2006-11-21 09:05 · 中国 甘肃 甘南藏族自治州 合作市 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
另外。。还有一个问题。。就是如果我像批量在一些文件尾部添加字符,例如</tr>
文件名存在规律,例如:
test1.txt、test2.txt、test3.txt....
该怎么做啊?~
sed 帮助上说的很清楚的啊~
sed "s/$/abc/" test?.txt
论坛跳转: