Sed
如何在不知道該字元的情況下用 sed 替換文件中的最後一個字元
我想替換文件中的最後一個字元。
- 我不知道那個角色是什麼。
- 我只知道它的位置:文件的結尾。
echo -n -e '1234\n5X78\nX' >> test.file
讓我們通過它生成一個文件。$ cat test.file 1234 5X78 X
最後一行沒有換行符。
當我知道它是時,我知道如何替換最後一個字元
X
。sed '$s/X/0/' test.file 1234 5X78 0
但正如我所說,我不知道最後一個字元。
使用 sed :
sed 's/.$/0/' test.file
.
定義任何字元,並且是$
行尾。0
因此,在此範例中,您將替換每行的任何最後一個字元。sed '$s/.$/0/' test.file
在您必須執行的操作之前添加 a
$
只會將該操作應用於最後一行。
這很簡單,只需使用
.$
:sed '$s/.$/0/' test.file
.
是“任何”字元。$
是行的結尾。因此,您將替換最後一行末尾的最後一個字元。