Unix:删除文件中的文本匹配模式

时间:2018-07-12 11:09:19

标签: unix

我有一个要以.csv格式导出的数据表。该文件当前如下所示:

60:1(概率= 0.0001,累计= 0.0001)

63:2(概率= 0.0001,累计= 0.0002)

64:1(概率= 0.0001,累计= 0.0002)

我只想保留每行的第一个字符(64:1),并删除括号之间的文本。是否有命令删除每一行中的文本?

1 个答案:

答案 0 :(得分:1)

您可以使用open System.Threading.Tasks type A() = member this.GetBodyAsync() = Task.FromResult 1 type B() = member this.GetBodyAsync() = async { return 2 } A() |> GetBodyAsync |> fun x -> x.Result // 1 B() |> GetBodyAsync |> Async.RunSynchronously // 2

sed

$ sed -E "s/ \(.+//g" input.txt 60: 1 63: 2 64: 1 设置-E以使用扩展的正则表达式(通常更方便)。 实际的表达式是sed的强制,所以s查看每一行,查找与正则表达式sed相匹配的内容,即,空格后跟一个直括号,然后是直到末尾的所有内容并用任何内容代替它。