bash - 如何在命令行中解析变量
问题描述
如何获取文本文件,跳过前 14 条记录,跳过最后 2 条记录,将其他所有内容放入新文件中?
我可以编写一个简单的 Java 或 python 代码来执行此操作,但我正在寻找更简单的 bash 脚本/命令行。
任何人都可以帮助我吗?
解决方案
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
希望这可以帮助你
推荐阅读
- regex - 例如,有没有办法从 A1:A1000 的一系列单元格中进行 REGEXMATCH ?
- angular - RouterLink url 在打开新标签时更改为默认 url
- typescript - NativeScript 应用程序的“Error-ReferenceError-ErrorEvent 未定义”
- python - 为 python 安装 django 模块时出错
- linear-programming - 使用线性规划对员工排班中的班次类型进行建模
- python - 提取已获取推文的国家/地区
- javascript - 配置文件脚本无法正确显示
- angular - RadCalendar Nativescript+Angular 不翻译 allDayText
- c# - 使用文本框在另一个页面上编辑列表视图行
- html - 引导表单单元格悬停