我想通過在每行的開頭添加行號來修改文件。我發現下面的命令做到這一點:爲什麼此行編號命令會破壞字符編碼?
cat file | perl -pe '$_ = "$. $_"' > file_with_line_numbers
這似乎是工作,但是,當我在vim打開文件時,它的全^ @ ^和M字符的。進一步的調查顯示編碼已經改變。
> file -bi file
text/plain; charset=utf-16le
> file -bi file_with_line_numbers
application/octet-stream; charset=binary
我在這裏錯過了什麼?
你可以使用nl。這是它的目的。 'nl file> new_file_with_line_numbers' – squiguy
@squiguy,Nope,'nl'將會以完全相同的方式失敗。 – ikegami