마지막 점 뒤의 문자열을 txt 문자열로 바꿉니다.

마지막 점 뒤의 문자열을 txt 문자열로 바꿉니다.

마지막 "." 뒤의 문자열을 txt로 바꾸는 방법

예를 들어

filter.bash
sum.sh
portG.py
run.doK.ksh

기대되는 성과

filter.txt
sum.txt
portG.txt
run.doK.txt

답변1

sed 's/[^.]*$/txt/'

또는 하나 이상의 행을 포함하는 행에 대해서만 이 작업을 수행합니다 .( myfile로 변경하지 않음 txt).

sed 's/\.[^.]*$/.txt/'

또한 다음 .bashrc으로 바꾸지 마십시오 .txt.

sed 's/\(..*\.\).*/\1txt/'

(이번에는 탐욕에 의존하여 .*후반부를 교체합니다.마지막 .).

또한 다음 foo.d/myfile으로 바꾸지 마십시오 foo.txt.

sed 's|\([^/]\.\)[^./]*$|\1txt|'

또한 .txt확장자가 없는 파일에 확장자를 추가합니다( 빈 줄이나 로 끝나는 줄은 건드리지 않고 .bashrc으로 변경하는 것을 포함 )..bashrc.txt/

sed 's|\([^/]\)\.[^./]*$|\1|;s|[^/]$|&.txt|'

관련 정보