다음과 같은 문자열이 있다고 가정해 보겠습니다.
="/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##.*/}