繁体   English   中英

替换shell命令中的单词

[英]Replacing words in shell command

我对此有点新意,请耐心等待。 我想替换附加到变量的某些文本? 还是字符串? 我不记得它叫什么狄更斯了。

删除我/从/ this / here / string /

var="delete me /from/this\ here\ string/"

我试过了:

echo $var | sed 's/^\(.* \)\(delete\sthis \)$/\wtf?\1/g'
echo $var | sed 's/.*\//delete this;/g'
awk ${var/123/abc};

我想对“删除我”打印的内容进行讨论。 第二部分总是改变,但“删除我”总是存在。 我太老了,所以谢谢你

尝试这个

> var="delete me /from/this\ here\ string/"
> echo "${var/delete me/}"
 /from/this\ here\ string/

这个怎么样?

echo $var|sed 's/\(^[^/]*\)/abc/'
var="delete me /from/this\ here\ string/"

var="$(printf '%s' "$var" | sed -e 's/^[[:blank:]]*delete[[:blank:]][[:blank:]]*[^[:blank:]]*[[:blank:]]*//' -e 's/\\//g')"

echo "$var"

我的输出:

/from/this here string/

它只是用“删除”这个词替换它后面的一个词,删除当然短语之前和之后的所有空格。 这允许它处理“删除我”,“删除这个”,甚至“\\ t \\ t \\ ttt \\ tt \\ t \\ t \\ t \\ t \\ tt_too \\ t \\ t \\ t”,因为“空白”是空格或制表符(\\吨)。 它只适用于开头的“删除”两个单词。

我希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM