删除以bash中的pattern开头的单词

我尝试删除所有单词,从字符串-L开始.例:

输入:

-L/home/a -la -L/home/b -lb

输出

-la -lb

你知道它的好方法吗?我的想法不起作用:

echo $(sed 's/-L\w//g' <<< "-L/home/a -la -L/home/b -lb")

解决方法

这很接近:

$echo '-L/home/a -la -L/home/b -lb' | sed 's/-L[^[:space:]]*//g'
 -la  -lb

或者,如果你没有其他空格而不是空格,那么

$echo '-L/home/a -la -L/home/b -lb' | sed 's/-L[^ ]*//g'
 -la  -lb

您可能仍需要剥离多余的空间.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...