我必须删除大文件中第n个位置的字符。 Vi
挂起了这么大的文件。我知道在sed
中会有一些简单的命令来执行此操作。但是,我发现很难理解sed
脚本及其表达式。
我所拥有的文件内容如下:
{“query”:“Lock and”,“timestamp”:“2012-12-28T00:00:00.045000 + 00:00”, “productId”:322506} ,, {“query”:“Velvet Crush”,“timestamp”: “2012-12-28T00:00:00.045000 + 00:00”,“productId”:134363}
我必须删除该文件中,
个字符的额外130405
。我如何使用sed来实现这一目标。
编辑:
现在我希望用一个就地替换双逗号的所有副本。怎么办?
答案 0 :(得分:5)
sed -i 's/.//130405' FILE
这会编辑文件(FILE
)(-i
),删除.
位置的任何字符130405
答案 1 :(得分:2)
为什么sed
有cut
?
cut -c -130404,130406-
答案 2 :(得分:0)
甚至不用担心双逗号的确切位置,并假设您想在整个文件中修复任何双逗号:
sed -e 's/,,/,/g' < file > file.new
mv file.new file
如果你有sed
的版本支持它,你可以sed -i -e '...' file
跳过重定向(但sed -i
基本上完全相同,只是使用临时文件)