删除文件中两个单词之间的字符

删除文件中两个单词之间的字符

我有一个文件,其中有重复模式。原来的行是:

blahblah=xxx blahblahblah(xxx): blah=xxx blah=xxx blah=xxx blah=xxx a0=20a8c20 a1=20a8dc0 a2=20a70a0 a3=7ffcb25e7b60 items=3 ppid=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah="xxx" blah="xxx"

我需要一个命令将该行转换为此输出(删除 a0 到 ppid 但不删除 ppid):

blahblah=xxx blahblahblah(xxx): blah=xxx blah=xxx blah=xxx blah=xxx ppid=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah="xxx" blah="xxx"

请注意,a0 和 ppid 之间的字符数量不同。

请解释你的解决方案,我只是一个试图学习的学生

作为对评论的回应:

是的,我正在为文件目录执行此操作。目标是一个遍历这些文件的脚本。我尝试使用

sed -e 's/a0=<missing code>items=//'

但我无法弄清楚丢失的代码中应该包含什么。文件的一般模式是相同的。

答案1

sed 's/a0.*ppid/ppid/g' yourFile

s 表示替换

它将以 a0 开头并以 ppid 结尾的字符串替换为 ppid

句点表示任何字符

星号表示 0 个或多个直到 ppid 的任何字符

g 表示对整个字符串执行此操作

输入man sed终端以了解更多信息

相关内容