当前位置: 技术问答>linux和unix
shell 编程 有关删除指定行的问题
来源: 互联网 发布时间:2016-08-01
本文导语: 用shell 编程 有关删除指定行(指定的特定内容的行)的问题。 用sed 如下: #!/bin/bash sed -i -e '/aaa/d' 1.txt exit 0 这样可以删除1.txt中含有aaa的这行。 但是如果参数改变,根据指定的参数的删除行 如下: #!/bin...
用shell 编程 有关删除指定行(指定的特定内容的行)的问题。
用sed 如下:
#!/bin/bash
sed -i -e '/aaa/d' 1.txt
exit 0
这样可以删除1.txt中含有aaa的这行。
但是如果参数改变,根据指定的参数的删除行
如下:
#!/bin/bash
INFO=aaa
sed -i -e '/$INFO/d' 1.txt
exit 0
如果改成上述的代码,就删不掉了。我找不到错在哪里,大家帮忙看看。谢谢!
用sed 如下:
#!/bin/bash
sed -i -e '/aaa/d' 1.txt
exit 0
这样可以删除1.txt中含有aaa的这行。
但是如果参数改变,根据指定的参数的删除行
如下:
#!/bin/bash
INFO=aaa
sed -i -e '/$INFO/d' 1.txt
exit 0
如果改成上述的代码,就删不掉了。我找不到错在哪里,大家帮忙看看。谢谢!
|
#!/bin/bash
INFO=aaa
sed -i -e "/`echo $INFO`/d" 1.txt
exit 0
INFO=aaa
sed -i -e "/`echo $INFO`/d" 1.txt
exit 0
|
给变量加上单引号
sed -i -e '/'$INFO'/d' 1.txt
sed -i -e '/'$INFO'/d' 1.txt
|
单引号换成双引号也可以
sed -i -e "/$INFO/d" 1.txt
sed -i -e "/$INFO/d" 1.txt
|
sed -i -e '/$INFO/d' 1.txt
$在单引号里被屏蔽了,自然不行,改成
sed -i -e '/'$INFO'/d' 1.txt
或者
sed -i -e "/$INFO/d" 1.txt
LZ直接copy过去
$在单引号里被屏蔽了,自然不行,改成
sed -i -e '/'$INFO'/d' 1.txt
或者
sed -i -e "/$INFO/d" 1.txt
LZ直接copy过去
|
单引号换成双引号,sed里面单引号变量shell不会展开
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。