Muh*_*lah 5 command-line bash sed
我有一个与 linux 中的选择和替换文本相关的简单查询。我正在使用sed命令。我有以下文字:
你好世界,我只是用于显示的简单文本。
现在我想打印到“hello world”,只有我可以在 linux 中使用以下命令来完成。
echo "hello world, I am just simple text for display." | sed 's/, I am.*//g'
Run Code Online (Sandbox Code Playgroud)
现在我想要完全反转这个函数,我怎样才能通过使用一个简单的命令来删除“hello world”,就像sed.
所需输出:
,我只是简单的文字展示。
我更喜欢使用 linux 命令(sed等)。
要反转命令的效果并保持要匹配的字符串的相同部分(假设这是字符串的唯一修复部分,并且您想要摆脱任何其他可能不同的部分),您可以执行以下操作:
echo "hello world, I am just simple text for display." | sed 's/^.*\(, I am.*\)/\1/g'
Run Code Online (Sandbox Code Playgroud)
结果 :
, I am just simple text for display
Run Code Online (Sandbox Code Playgroud)
正则表达式在做什么:
这样,您就可以使用与问题中的命令完全相反的效果,使用字符串的相同部分进行匹配。