我有一个名为的文件.ignore
。需要更换projdir
。例如:
ignore \..*
ignore README
projdir Snake
我需要用“ PacMan”代替Snake。我阅读了手册页,但是我不知道该怎么办。
我有一个名为的文件.ignore
。需要更换projdir
。例如:
ignore \..*
ignore README
projdir Snake
我需要用“ PacMan”代替Snake。我阅读了手册页,但是我不知道该怎么办。
Answers:
一种方法是使用要保留的部分的反向引用来重写整行:
sed -e 's/^\( *projdir *\)[^ ]*\(.*\)*$/\1PacMan\2/'
另一种方法是重写该行的该部分,但前提是其他部分匹配:
sed -e '/^ *projdir / s/ [^# ]/ PacMan/'
两个示例都在第一个单词为的行上重写了第二个以空格分隔的单词projdir
。
sed -i 's:^projdir.*$:projdir PacMan:g' .ignore
^ projdir是查找以字符串projdir开头的行。那里的。* $代表同一行中projdir之后的字符串。字符串projdir PacMan是我们要替换的字符串。g代表全局-替换所有以projdir开头的行。.ignore是文件名
-i
,--in-place
则示例将更加自我记录。