假设我有一个字符串,例如
="/home/Rob/.SpaceVim"
我想提取点后面的字符串。我该怎么做呢?
我知道$
也用于表示最后一个字符,并且\
可用于在字符串文字中制作字符。所以我尝试过类似的事情awk '\.$'
,但没有取得任何成功。
答案1
可能:
echo "/home/Rob/.SpaceVim" | grep -o "\..*$"
或者
echo "/home/Rob/.SpaceVim" | sed 's;[^.]*;;'
没有点和 GNUgrep
echo "/home/Rob/.SpaceVim" | grep -Po "(?<=\.).*$"
或者sed
echo "/home/Rob/.SpaceVim" | sed 's;^.*\.;;'
你甚至可以包括cut
echo "/home/Rob/.SpaceVim" | cut -d'.' -f2-
(请注意,您会看到不包含点或包含多个点的行之间的行为有所不同,但您尚未指定在这种情况下要做什么)。
答案2
读man bash
。
a="/home/Rob/.SpaceVim"
echo ${a##.*/}