Bash工作代码从文件中删除第一行或最后一行

k-m*_*man 13 bash line

我看到了这些sed例子,但无论我怎么写,它都不会删除我的第一行.实际上,我做了更多测试,它也不会删除我的第一行,所以我确实做错了什么:

sed '1d' filename
Run Code Online (Sandbox Code Playgroud)

或者最后一行

sed '$d' file name
Run Code Online (Sandbox Code Playgroud)

我希望更改发生在同一个文件中,并且不需要其他输出文件.那么请问,删除文件中最后一行的正确方法是什么?

Rus*_*ias 16

sed -i '$ d' filename.该-i标志编辑文件到位.

  • 这将删除最后一行。要删除第一行,使用`sed -i'1,1d'filename'。 (2认同)

Rak*_*esh 8

干得好 !删除第一行(也兼容BSD/MacOS)

sed '1,1d' file1  >> file1.out
Run Code Online (Sandbox Code Playgroud)

删除最后一行/行

sed '$d' file2  >> file2.out 
Run Code Online (Sandbox Code Playgroud)

  • 好答案。我几乎将两者连接如下:sed“ 1,1d; $ d” file1> file2` (2认同)

Mic*_*ker 7

如果您的 sed 支持就地编辑,那么它就是sed -e '1d' -e '$d' -i filename.


Mar*_*ers 5

您可以使用--in-place( -i) 开关:

sed -i '$d' filename
Run Code Online (Sandbox Code Playgroud)

来源:人 sed