【发布时间】:2013-10-08 08:41:15
【问题描述】:
我需要使用 bash 脚本从文件中删除特定的行号。
我使用 -n 选项从 grep 命令中获取行号。
我不能使用 sed 的原因有很多,其中最起码的原因是它没有安装在该脚本需要运行的所有系统上,并且安装它不是一个选项。
awk 是不可能的,因为在测试中,在具有不同 UNIX/Linux 操作系统(RHEL、SunOS、Solaris、Ubuntu 等)的不同机器上,它会在每个机器上给出(有时非常)不同的结果。所以,没有 awk。
有问题的文件只是一个平面文本文件,每行有一条记录,所以不需要做任何花哨的事情,除了按数字删除行。
如果可能的话,我需要避免做一些事情,比如提取文件的内容,不包括我想要删除的行,然后覆盖原始文件。
【问题讨论】:
-
ed 或红色可能会给您想要的:unix.stackexchange.com/questions/58027/…
-
你能在这篇文章中包含你的 awk 脚本吗?我对您的断言感到非常惊讶(也许 sun 4 的(旧)awk(不是 nawk)除外)。祝你好运。
-
我没有最初使用的 awk 脚本。这个指令来自比我赚更多钱的人......
-
查看脚本部分原作者的注释,实际上是我们用作 NIS 服务器的几台 Sun 机器出现了问题。它没有说明导致问题的任何版本。