如何使用Unix Command替换巨大文件中指定列的内容

时间:2013-04-06 09:36:16

标签: unix file-io sed

我有一个大约10 GB的巨大文件。我想替换它的第35列(以;分隔)。因为,它是一个巨大的文件,在编辑器中打开文件不是一个选项。我想在文件的所有行中替换。

有人建议我使用Sed,但我还不熟悉它。有人可以建议一个可以达到同样目的的unix命令。

3 个答案:

答案 0 :(得分:2)

awk -F';' '{ $35 = "replacement" }' < oldfile > newfile

答案 1 :(得分:0)

这可能适合你(GNU sed):

 sed -i 's/[^;]*/replacement/35' file

答案 2 :(得分:0)

接受的解决方案对我不起作用。但帮助我找到了这个:

awk'{$ 35 =“替换”; print $ 0}'&lt; oldfile&gt; newfile中

用于制表符分隔文件