我有一个大文本文件(~3GB)。 创建它时,我犯了一个错误,只有第一行的前几个(并非所有)字符 是错误的。第一行中的其余字符是正确的。所有其他行也是正确的。我的非常简单的问题是:
如何删除这么大文件的前n个字符? 我不想删除整个第一行,只删除前n个字符。我的要求是:
我已经尝试了sed,但这取代了第一行并复制了所有其余的...也许我可以使用“退出”选项? 当然,我可以再次创建文件,而不会犯这个错误......
答案 0 :(得分:3)
您可以使用:
sed -i.bak -r '1s/^.{10}//' file
这将创建备份file.bak
并从第一行中删除前10个字符。也可以单独使用-i
进行就地编辑,无需备份。
原始档案:
$ cat a
1234567890some bad data and here we are
blablabla
yeah
让' S:
$ sed -i.bak -r '1s/^.{10}//' a
$ cat a
some bad data and here we are
blablabla
yeah
$ cat a.bak
1234567890some bad data and here we are
blablabla
yeah