首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果文件中间有文件损坏,请跳过前N行并打印文件的其余部分

如果文件中间有文件损坏,请跳过前N行并打印文件的其余部分
EN

Stack Overflow用户
提问于 2017-12-12 06:04:38
回答 1查看 116关注 0票数 0

我有一个很大的文本文件,当我尝试读取这个文件时,它在中间被损坏了,比如使用awk查找行数:

代码语言:javascript
复制
person@terminal> awk 'END{print NR}' file.txt
awk: (FILENAME=file.txt FNR=300) fatal: error reading input file `file.txt': Input/output error

因此,我考虑过使用tail命令来打印这行损坏后的所有内容,并将输出与之前的所有内容连接起来。默认情况下,tail命令运行良好,因为它从该文件的末尾开始读取文件,因此它可以毫无问题地打印该文件的末尾。但问题是,我不知道这个文件有多少行。因此,如果我尝试使用tail跳过坏点之前的所有行,我会得到:

代码语言:javascript
复制
person@terminal> tail -n +301 file.txt > after_error.txt
tail: error reading `file.txt': Input/output error

这意味着,尽管tail可以从文件的末尾开始读取文件,但如果我告诉它跳过前N行,它仍然会从文件的开头开始读取。

我的问题是,如何打印坏点之后的所有行?我也很高兴知道是否有其他方法来抢救这个文件。

EN

回答 1

Stack Overflow用户

发布于 2017-12-12 07:18:37

试一试

代码语言:javascript
复制
strings file.txt

代码语言:javascript
复制
cp file.txt /otherPartition/file.txt
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47762218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档