Linux 如何使用echo更改文本文件中的行?
假设我们有一个名为Linux 如何使用echo更改文本文件中的行?,linux,unix,grep,echo,cat,Linux,Unix,Grep,Echo,Cat,假设我们有一个名为profile.cfg的文件,其中包含以下内容: user.name=Duvdevan user.email=duvdevan@duvdevan.duv user.web=http://duvdevan.duv user.country=Bosnia/Herzegovina user.age=26 user.biography="A web developer.\n\nLikes echo command..." 现在,我想更新第三行的内容,即user.web属性,并将其放置
profile.cfg
的文件,其中包含以下内容:
user.name=Duvdevan
user.email=duvdevan@duvdevan.duv
user.web=http://duvdevan.duv
user.country=Bosnia/Herzegovina
user.age=26
user.biography="A web developer.\n\nLikes echo command..."
现在,我想更新第三行的内容,即user.web
属性,并将其放置在与当前相同的位置,以保持上面和下面的内容不变
到目前为止,我所尝试的是:
cat profile.cfg | grep user.web
,我得到了该行的值…您可以使用sed
$ sed 's#user.web=.*#user.web=http://NEW_DOMAIN#' file
user.name=Duvdevan
user.email=duvdevan@duvdevan.duv
user.web=http://NEW_DOMAIN
user.country=Bosnia/Herzegovina
user.age=26
user.biography="A web developer.\n\nLikes echo command..."
使用
-i
选项对文件进行内联更改,以便不需要重定向。使用sed可以轻松完成此操作
$ sed 's#user.web=.*#user.web=http://NEW_DOMAIN#' file
user.name=Duvdevan
user.email=duvdevan@duvdevan.duv
user.web=http://NEW_DOMAIN
user.country=Bosnia/Herzegovina
user.age=26
user.biography="A web developer.\n\nLikes echo command..."
使用-i
选项对文件进行内联更改,这样就不需要重定向