【发布时间】:2012-01-04 07:17:14
【问题描述】:
我看到了sed 示例,但无论我如何写它都不会删除我的第一行。实际上,我做了更多测试,它也不会删除我的第一行,所以我肯定做错了什么:
sed '1d' filename
或最后一行
sed '$d' file name
我希望更改发生在同一个文件中,并且不想要另一个输出文件。 那么请问,删除文件中最后一行的正确方法是什么?
【问题讨论】:
我看到了sed 示例,但无论我如何写它都不会删除我的第一行。实际上,我做了更多测试,它也不会删除我的第一行,所以我肯定做错了什么:
sed '1d' filename
或最后一行
sed '$d' file name
我希望更改发生在同一个文件中,并且不想要另一个输出文件。 那么请问,删除文件中最后一行的正确方法是什么?
【问题讨论】:
sed -i '$ d' filename。 -i 标志位编辑文件。
【讨论】:
sed -i '1,1d' filename。
1d 就足够了。
给你! 删除第一行(也兼容 BSD/MacOS)
sed '1,1d' file1 >> file1.out
删除最后一行/行
sed '$d' file2 >> file2.out
【讨论】:
sed "1,1d; $d" file1 > file2
【讨论】:
如果您的 sed 支持就地编辑,则为 sed -e '1d' -e '$d' -i filename。
【讨论】:
因为没有人给它任何爱:
ed filename <<'END'
1d
$d
w
q
END
【讨论】:
给出这个答案,因为sed 没有被标记。
head -`wc -l test2.cc | awk '{print ($1-1)}'` test2.cc
【讨论】:
head 是......古怪。整个事情可以在 Awk 中完成,一次通过。
试试cat file1 | sed "1,1d; $d" > file2
【讨论】: