我有一个大的文本文件,该文件在我尝试读取此文件时在中间损坏了,请使用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