【发布时间】:2018-07-03 06:54:39
【问题描述】:
这是我的示例文件。
我想这样做。
- 我有固定要求删除第 2 行和第 3 行,保留第 1 行。
- 我想从底部删除除最后一行之外的 2 行,因为我不知道我的最后一行编号是什么,因为它取决于文件。
一旦我删除了我的第 2 行和第 3 行,第 4 行理想情况下应该出现在第 2 行,依此类推,删除后的底部也是如此。
我想使用 head/tail 命令并仅修改现有文件。 as 写回同一文件的更改。
示例文件文本格式。
输入文件
> This is First Line
> Delete Delete Delete This Line
> Delete Delete Delete This Line
> ..
> ..
> ..
> ..
> Delete Delete Delete This Line
> Delete Delete Delete This Line
> This is Last Line, should not be deleted It could be come at any line
数字(变量)
输出文件(修改相同的文件)
This is First Line
..
..
..
..
This is Last Line, should not be deleted It could be come at any line number (variable)
编辑 - 由于 Unix 上的兼容性问题(在 ksh shell 上使用 HP Unix),我想使用 head/tail/awk 来实现它。不是 sed。
【问题讨论】:
-
欢迎来到堆栈溢出,请您在代码标签中发布更清晰的示例 Input_file 和示例预期输出文件。
-
@RavinderSingh13 添加了更多输入,感谢您的建议。
-
sed '2,3d' file.txt | tac | sed '2,3d' | tac也许? -
@MarkSetchell tac 在 HP unix 版本中不受支持,我只想使用 head 和 tail 来实现。
-
@Minsec,你的系统上甚至没有
sed或awk?
标签: shell unix ksh text-processing