【问题标题】:How to remove a string from file in mac terminal如何在mac终端中从文件中删除字符串
【发布时间】:2017-08-16 19:25:22
【问题描述】:

我有一个包含数百万条记录的文件,每行以SYSTEM;\N 结尾。

我想从文件中删除所有出现的;\N。我该如何处理?

【问题讨论】:

  • 请显示文件的 3-4 行以及您尝试过的代码。

标签: macos shell unix terminal


【解决方案1】:

您可以使用 sed 命令替换文件中所有出现的 ';\N' 并将其替换为 ''。

sed -i 's/original/new/g' file.txt

解释:

sed = 流编辑器

-i = 就地(即保存回原始文件)

命令字符串: s = 替代命令

original = 描述要替换的单词(或只是单词本身)的正则表达式

new = 替换它的文本

g = 全局(即全部替换,而不仅仅是第一次出现)

file.txt = 文件名

【讨论】:

  • sed -i 's/;\N//g' test112.csv 在终端上不起作用
【解决方案2】:

这终于成功了sed -i '' 's/;\\N//g' test112.csv

【讨论】:

  • 使用-i 似乎是个糟糕的主意。 sed 会将你的数据写入一个临时文件,所以如果磁盘空间是一个问题,这并不能避免这个问题。如果您确实用完了磁盘,使用-i 会导致某些数据被截断吗?只需执行sed 's/;\\N/g' test112.csv > test112.out。然后确保它有效。然后做mv test112.out test112.csv
猜你喜欢
  • 1970-01-01
  • 2013-07-18
  • 2023-02-04
  • 1970-01-01
  • 2017-11-13
  • 2020-05-22
  • 2020-10-13
  • 2018-11-05
  • 1970-01-01
相关资源
最近更新 更多