我有一个包含以下内容的属性文件:
myhome=/home/username
lib=/home/libs
例如,我希望获得主路径(即/ home / username):
如果我使用cat + grep之类的
cat property | grep myhome
然后我得到:myhome=/home/username
所以我可以使用sed删除'home =',即在删除之前(包括)'='。我怎么能用sed做到这一点?
干杯 大卫
答案 0 :(得分:3)
sed -ne "s/^myhome=//p"
回答下面的评论:
sed -ne "s/^[^=]\+=//p"
答案 1 :(得分:2)
使用awk
awk -F"=" '{print $2}' file
awk '{sub(/^.[^=]*=/,"")}1' file
或只使用shell
while IFS="=" read -r a b
do
echo $b
done <"file"
对于sed,试试这个
sed -ne "s/^.[^=]*=//p" file
只是shell字符串操作
$ myhome=/home/username=blah
$ echo ${myhome%%=}
/home/username=blah
答案 2 :(得分:1)
sed 's+.*=++g'
应该做的。
答案 3 :(得分:1)
sed也可以为你做好准备。
$ sed -n -e "s/^myhome=//p" property
-n
是:
禁止自动打印图案空间
尾随p
打印匹配的行。