我有一个文件,foo.txt,包含以下行:
a
b
c
我想要一个简单的命令,导致foo.txt的内容为:
a
b
我有一个文件,foo.txt,包含以下行:
a
b
c
我想要一个简单的命令,导致foo.txt的内容为:
a
b
当前回答
Linux
$表示最后一行,d表示删除:
sed '$d' ~/path/to/your/file/name
操作系统
相当于sed -i:
sed -i '' -e '$ d' ~/path/to/your/file/name
其他回答
awk "NR != `wc -l < text.file`" text.file &> newtext.file
这段代码可以达到目的。
Mac用户
如果只希望删除最后一行输出而不更改文件本身做
Sed -e '$ d' foo.txt
如果要删除输入文件本身的最后一行
Sed -i " -e '$ d' foo.txt
Linux
$表示最后一行,d表示删除:
sed '$d' ~/path/to/your/file/name
操作系统
相当于sed -i:
sed -i '' -e '$ d' ~/path/to/your/file/name
echo -e '$d\nw\nq'| ed foo.txt
红宝石(1.9+)
ruby -ne 'BEGIN{prv=""};print prv ; prv=$_;' file