bash:中点以降の文字列の一部のみを抽出する

bash:中点以降の文字列の一部のみを抽出する

次のような文字列があるとしましょう。

="/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-

(点を含まない、または複数の点を含む線間の動作に違いがありますが、この場合に実行するアクションを指定しませんでした。)

おすすめ記事