删除文本文件中每行的最后两个字符
答
sed 's/..$//' filename.txt
答
第二个BenV的答案。然而,你可以确保你只能通过删除^ A:
sed 's/^A^A$//' <file>
除此之外,找出^ A是什么,我做了以下内容:
% echo -n '^A' |od -x
0000000 0001
0000001
% ascii 0x01
ASCII 0/1 is decimal 001, hex 01, octal 001, bits 00000001: called ^A, SOH
Official name: Start Of Heading
(想添加为注释,但它不会做正确引用)
+1
请注意,您需要键入Ctrl-A,而不是文字^和文字A. – 2010-04-08 04:01:32
答
你也可以用awk
awk '{sub(/..$/,"")}1' file
,您还可以使用shell
while read -r line; do echo ${line:0:(${#line}-2)}; done<file
但是如果你正在谈论摆脱DOS新行(即\ r \ n)的,你可以使用dos2unix
命令
如果有什么人想删除最后一个字符1232? – qed 2013-09-19 10:06:16
了解它:'sed's /。\ {1232 \} $ //'filename' – qed 2013-09-19 10:07:59