마지막 "." 뒤의 문자열을 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|'