次のような文字列があるとしましょう。
="/home/Rob/.SpaceVim"
ドットの後の文字列を抽出したいです。どうすればいいですか?
$
最後の文字を表すためにも使用され、\
文字列リテラルで文字を作成するために使用できることがわかります。だから、似たようなことを試しましたが、awk '\.$'
成功しませんでした。
答え1
可能:
echo "/home/Rob/.SpaceVim" | grep -o "\..*$"
または
echo "/home/Rob/.SpaceVim" | sed 's;[^.]*;;'
ドットとGNUなしgrep
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##.*/}