标题: 使用sed在文件尾部添加字符的问题
[打印本页]
作者: sloo
时间: 2006-11-21 02:37
标题: 使用sed在文件尾部添加字符的问题
我在论坛翻到一个
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....
该怎么做啊?~
谢了!
作者: sloo
时间: 2006-11-21 02:41
或者不用sed的话,又该如何实现呢?
作者: sloo
时间: 2006-11-21 02:47
呵呵~还有
如何把修改过的内容仍然保存在test.txt中
我试了用 >test.txt ,但是这样得到的test.txt是空内容
用 >> 的话,是追加。。
作者: sloo
时间: 2006-11-21 02:58
呵呵,第一个问题解决了~
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是空内容
用 >> 的话,是追加。。
作者: namejm
时间: 2006-11-21 03:06
在每行的尾部添加字符<tr>,而不是在每个文件的尾部追加,演示代码如下:
@echo off
for /f "delims=" %%i in (test.txt) do >>test_1.txt echo %%i^<tr^>
作者: sloo
时间: 2006-11-21 03:07
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
用这个参数?可是这个参数是备份的啊
作者: sloo
时间: 2006-11-21 03:12
比如有test1.txt、test2.txt、test3.txt....这些文件,如何直接在每个原文件的尾部添加</tr>啊?
我用sed的 sed "s/\x24/\<\/tr>/" 1.txt > 2.txt
只能在1.txt的尾部添加 </tr> ,并输出为 2.txt
作者: sloo
时间: 2006-11-21 03:13
我搜索到一些资料,说sed如何想直接修改原文件的话只需要加一个 -i 但是我这样做的结果还是生成了两个,一个修改过的,一个备份的,并没有在原文件中修改
作者: sloo
时间: 2006-11-21 08:04
郁闷啊~~谁帮帮我啊?
作者: vkill
时间: 2006-11-21 09:05
另外。。还有一个问题。。就是如果我像批量在一些文件尾部添加字符,例如</tr>
文件名存在规律,例如:
test1.txt、test2.txt、test3.txt....
该怎么做啊?~
sed 帮助上说的很清楚的啊~
sed "s/$/abc/" test?.txt