我有一个文件,包含一百万条记录,每行末尾都以 SYSTEM;\N
结束。
我想从文件中删除所有的 ;\N
出现。我该如何解决这个问题?
sed -i 's/original/new/g' file.txt
解释:
sed = 流编辑器
-i = 原地操作(即将更改保存回原始文件)
命令字符串: s = 替换命令
original = 描述要替换的单词的正则表达式(或者只是单词本身)
new = 要替换的文本
g = 全局匹配(即替换所有出现的而不仅仅是第一次出现)
file.txt = 文件名
最终这个命令行起作用了:sed -i '' 's/;\\N//g' test112.csv
-i
似乎是一个糟糕的想法。sed将把您的数据写入临时文件,因此如果磁盘空间是一个问题,这并不能避免这个问题。如果您的磁盘空间用尽了,使用-i
会导致一些数据被截断吗?只需执行sed 's/;\\N/g' test112.csv > test112.out
。然后确保它起作用了。然后执行mv test112.out test112.csv
。 - William Pursell