首页 > 解决方案 > 如何在命令行中解析变量

问题描述

如何获取文本文件,跳过前 14 条记录,跳过最后 2 条记录,将其他所有内容放入新文件中?

我可以编写一个简单的 Java 或 python 代码来执行此操作,但我正在寻找更简单的 bash 脚本/命令行。

任何人都可以帮助我吗?

标签: bashshell

解决方案


awk如果您希望跳过前 N(14) 行和最后 M(2) 行,您可以使用,

#!/bin/bash
awk -v N="$(wc -l < inputfile.txt)" -v first_lines=14 -v last_lines=2 '{
    if (NR >= first_lines && NR <= N - last_lines) 
    print $0
}' inputfile.txt >> outfile.txt 2>&1

希望这可以帮助你


推荐阅读