0

我今天下午的大部分时间都在做黑客攻击,sed这有点像雷区。

我有一个格式为十六进制的文件:

485454502F312E31203230300D0A0D0AFFD8FFE000104A46494600

我正在进行模式匹配,0D0A0D0A并设法删除了从文件开头到那里的内容。问题是它离开了0D0A0D0A,所以我必须做第二遍才能捡起它。

有没有办法在一个命令中删除最多并包括您匹配的模式并将其保存回同一个文件?

提前致谢。

ID

4

2 回答 2

0

您需要更好地描述您的问题。

根据您写的内容,您可以使用-ised 的开关(就地编辑文件)来保存更改的文件:

sed -i.bak 's/^.*0D0A0D0A//' file

PS:在 posix 和一些旧版本的 sed 上没有-i可用的开关。如果是这种情况,请像这样使用它:

sed 's/^.*0D0A0D0A//' file > _temp && mv _temp file
于 2013-07-23T16:05:30.643 回答
0

这应该有效:

sed -e 's/.*0D0A0D0A//' file.txt
于 2013-07-23T16:05:54.613 回答