sed怎么能不输出第一行和最后一行
时间: 2024-03-16 16:47:11 浏览: 22
可以使用如下的sed命令来不输出第一行和最后一行:
```
sed -n '1!p; $!{h; d}; $p; x' file.txt
```
解释一下每个部分的含义:
- `1!p`:不输出第一行
- `$!{h; d}`:除了最后一行,其他行都保存在模式空间中,并删除(d)
- `$p`:输出最后一行
- `x`:交换模式空间和保持空间中的内容
这个命令的基本思路是先不输出第一行,对于其他行,先保存在保持空间中,等到最后一行时再输出,这样就不会输出第一行和最后一行。
需要注意的是,这个命令并没有修改原始文件,如果需要修改原始文件,可以使用-i选项。同时,这个命令的效率可能不如其他方法,如果文件较大,建议使用其他方法。
相关问题
sed第一行到最后一行删除匹配的行
可以使用以下命令来删除匹配的行:
```
sed '/pattern/d' file
```
其中,`pattern` 是你想要删除的行所匹配的模式,`file` 是你想要操作的文件名。
如果你想要直接将结果输出到标准输出流(屏幕),可以使用以下命令:
```
sed '/pattern/d' file
```
如果你想要直接修改源文件,可以加上 `-i` 选项:
```
sed -i '/pattern/d' file
```
注意,在使用 `-i` 选项时,请务必备份你的文件,以防误操作导致数据丢失。
sed从某行到最后一行
可以使用以下命令从某行到最后一行:
```
sed -n 'start_line,$p' input_file
```
其中,`start_line` 是起始行的行号,`$` 表示最后一行。`-n` 参数表示只输出匹配到的行,不输出其他的行。
例如,如果要从第 5 行到最后一行读取文件 `example.txt` 中的内容,可以运行以下命令:
```
sed -n '5,$p' example.txt
```
这将输出从第 5 行到最后一行的所有内容。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)