shell脚本怎么将含有文件终止符“EOF”的行删除?

我查到sed是可以的,比如删除含有should的行: cat -n seq.txt | sed /should/d
那么问题来了EOF怎么表示呢?是不是直接cat seq.txt | sed /EOF/d?
还是cat seq.txt | sed /$EOF/d?

阅读 7.5k
3 个回答

实际的文件里面是没有EOF标记的,这个东西只是c函数为了告诉你文件到达末尾罢了。。
链接:stackoverflow

在Linux里不存在这样一个字符,可以看下这篇文章 EOF是什么

ASCII 字符只有 0-255,用一个字节表示 所以 C 中读取一个字符的函数只会返回 0-255 之间的数。
但是文件读取不可能总会正确,所以就用一些不可能取到的值(比如 -1 -2 256 257)去表示出错。
EOF (-1) 就表示读取到了结尾的意思

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题