我有一个大文本文件(~3GB)。在创建它时,我犯了一个错误,只有第一行的前几个(不是全部)字符是错误的。第一行中的其余字符是正确的。所有其他行也是正确的。我的,很简单,问题是:
如何删除这么大文件的前 n 个字符?我不想删除整个第一行,只删除前 n 个字符。我的要求是:
我试过 sed,但它替换了第一行并复制了所有其余的行……也许我可以使用“退出”选项?当然,我可以再次创建文件,而不会犯那个错误......
您可以使用:
sed -i.bak -r '1s/^.{10}//' file
Run Code Online (Sandbox Code Playgroud)
这将创建一个备份file.bak并删除第一行的前 10 个字符。-i也可以单独使用Note ,在没有备份的情况下进行就地编辑。
原始文件:
$ cat a
1234567890some bad data and here we are
blablabla
yeah
Run Code Online (Sandbox Code Playgroud)
让我们:
$ 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
Run Code Online (Sandbox Code Playgroud)