![문자를 모르고 파일의 마지막 문자를 sed로 바꾸는 방법](https://linux55.com/image/211856/%EB%AC%B8%EC%9E%90%EB%A5%BC%20%EB%AA%A8%EB%A5%B4%EA%B3%A0%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EB%A7%88%EC%A7%80%EB%A7%89%20%EB%AC%B8%EC%9E%90%EB%A5%BC%20sed%EB%A1%9C%20%EB%B0%94%EA%BE%B8%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
파일의 마지막 문자를 바꾸고 싶습니다.
- 그 캐릭터가 뭔지 모르겠어요.
- 내가 아는 전부는 그 위치: 파일의 끝입니다.
파일을 생성하고 echo -n -e '1234\n5X78\nX' >> test.file
전달해 보겠습니다.
$ cat test.file
1234
5X78
X
마지막 줄에는 개행 문자가 없습니다.
마지막 문자를 알면 이를 바꾸는 방법을 알 수 있습니다 X
.
sed '$s/X/0/' test.file
1234
5X78
0
그런데 아까 말했듯이 마지막 글자는 모르겠어요.
답변1
sed를 사용하세요:
sed 's/.$/0/' test.file
.
모든 문자를 정의하며 $
줄의 끝입니다. 따라서 0
이 예에서는 각 줄의 마지막 문자를 바꾸게 됩니다.
sed '$s/.$/0/' test.file
수행해야 하는 작업 앞에 추가하면 $
마지막 행에만 해당 작업이 적용됩니다.
답변2
간단합니다 .$
. 다음을 사용하세요.
sed '$s/.$/0/' test.file
.
"모든" 문자입니다.$
줄의 끝입니다.
따라서 마지막 줄 끝의 마지막 문자를 바꾸는 것입니다.