在ubuntu上,我在~500MB的csv文件上运行一个控制台perl替换。这是电话:
perl -i -pe 's/AS100\n/AS100/g' test.csv
在完整文件上运行之前,我提取了大约30MB的子集并成功运行该脚本。
在完整文件上运行时,不会进行替换,也不会显示错误或消息。
我也尝试使用sed,但行为是一样的。
我该如何解决这个问题?
谢谢
答案 0 :(得分:0)
如果你有空间,请尝试这样做以查看替换,因为它是对另一个文件所做的:
perl -pe 's/AS100\n/AS100/g' test.csv | tee > test2.csv
我的问题是,是否只有以AS100结尾的行需要删除新行?
答案 1 :(得分:0)
在尝试了所有内容之后,我发现原始文件中的模式是:
As100\r
并且 \ n 是Sublime Text在保存测试文件时完成的转换。
所以正确的代码就是:
perl -i -pe 's/AS100\r/AS100/g' test.csv