【发布时间】:2013-07-06 15:35:31
【问题描述】:
我正在努力在单线方面做得更好,这就是我目前所拥有的。
$ echo $PATH
/home/ubuntu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
我想要做的是剥离第一块,所以这是我到目前为止所想出的 ---
$ echo $PATH | sed -e "s|^/[A-Za-z/]*:||"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
我在这里要做的最后一件事就是把它放回 PATH,比如 export PATH=[那个结果]
我尝试过的方法如下,我无法工作---
$ echo $PATH | sed -e "s|^/[A-Za-z/]*:||" | xargs export PATH=
xargs: export: No such file or directory
另外,顺便说一句,让我感到困惑的另一个问题是上面的 sed 表达式,由于某种原因,当我尝试使用 + 而不是 * 时,它不会抓住第一位。看---
$ echo $PATH | sed -e "s|^/[A-Za-z/]+:||"
/home/ubuntu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
它就像 +,意思是“一个或多个”不如“许多”*。
【问题讨论】: