鉴于文件中间有一个文件损坏,跳过第一n行并打印文件的其余部分



我有一个大的文本文件,该文件在我尝试读取此文件时在中间损坏了,请使用awk查找行数:

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 Command打印在此损坏的线之后的所有内容,并将输出与之前的所有内容一起加入输出。默认情况下,Tail命令正常工作,因为它开始从该文件的末尾读取文件,因此它可以无问题打印该文件的末尾。但是问题是,我不知道该文件有多少行。因此,如果我尝试使用尾巴在腐败点之前跳过所有线路,我会得到:

person@terminal> tail -n +301 file.txt > after_error.txt
tail: error reading `file.txt': Input/output error

这意味着,尽管尾巴可以从文件的末尾开始读取文件,但如果我告诉我跳过第一行。

我的问题是,在腐败点之后,我将如何打印所有线条?我也很高兴知道是否还有其他方法可以挽救此文件。

尝试

strings file.txt

cp file.txt /otherPartition/file.txt

最新更新