linux - 搜索文本文件的一部分并打印它的通用命令(使用 awk 或 sed)

标签 linux bash sed awk

我应该使用哪个命令来打印文本文件的一部分,知道这部分从哪里开始和结束?

例如:

columnA columnB columnC
baba     bobo    bibi
caca     coco    cici  
.         .      .
.         .      .
zaza    zeze     zizi
EndA    EndB    EndC

在我所有的文件中,columnA(columnB ...) 和 EndA(EndB ...) 的文本完全相同,我想做的是打印它们之间的内容,即 baba(bobo . ..) 每个文件都不同。

我当时使用的是 grep |切 | tail,但是每次我有一个新文件时我都必须编写(并找到)新模式,因为每个文件的行数都不同。我想有一种更智能(和通用)的方法可以使用 awk 或 sed 来做到这一点。

最佳答案

如果你想打印除第一行和最后一行以外的所有行

sed '1d; $d' file.txt

关于linux - 搜索文本文件的一部分并打印它的通用命令(使用 awk 或 sed),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14817044/

相关文章:

linux - 通过脚本替换文本行

python - 无法在 AWS Cloud9 IDE 中使用 Python 访问本地环境变量

java - 如何在 AWS EC2 Linux 中添加环境变量

linux - 如何使用 `ls` 在 linux shell 中列出文件,因为它们在相应的文件夹中列出

mysql - 通过未执行的 ruby​​_block 设置 Chef 变量

bash - sed 追加从 stdout 获得的文本

linux - 如何在 Linux 中将天数转换为秒数

linux - 如何强制 yum 只更新到确切的次要操作系统版本

bash - 暂停和恢复 Bash 脚本

bash - 如何使用 awk 追加字段的出现?