파일의 각 줄 끝에 다음 문자를 추가하고 싶습니다.
sed -e 's/$/\/$/g' myfile.txt > myfile_new.txt
결과는 $/
각 줄에 명시적으로 $가 추가된 것입니다. 하지만 $를 추가하고 싶지 않습니다.
예를 들어, 다음은 원본 파일의 한 줄입니다.
https://myline
명령을 실행하면 결과는 다음과 같습니다.
https://myline/$
하지만 나는 원한다:
https://myline/
뭐가 문제 야? 파일은 원래 사용하기 dos
위해 변환한 유형 이었습니다 unix
.
dos2unix myfile.txt
답변1
당신에게 필요한 's/$/\//'
것은 ——$
앵커 포인트패턴을 줄 끝까지 배치하지만 대체할 수 있는 실제 문자는 아닙니다. 또한 의 경우 ^
실제로 일치(및 대체)하는 것은 줄 끝에 고정된 빈 패턴입니다.
또한 @Phillippos가 주석에서 지적했듯이 g
여기서는 필요하지 않습니다. 표현식이 고정되어 있으므로 한 곳에서만 일치할 수 있습니다.
답변2
awk 명령을 사용해 볼 수도 있습니다.
주문하다
awk '{print $0"/"}' filename