从日志文件中过滤特定文本

fri*_*man 5 windows cmd.exe

所以我有一个来自 Twitch 聊天的日志文件,我想制作一个词云,为此我只想要他们名字后面的文本,例如。

[Jun 01 2015 02:23:58 UTC] swimsphinx: test1
[Jun 01 2015 02:24:15 UTC] swimsphinx: test2
[Jun 01 2015 02:27:36 UTC] swimsphinx: lol
Run Code Online (Sandbox Code Playgroud)

我想处理整个文件,以便删除日期和名称,所以我只剩下 3 行

test1
test2
lol
Run Code Online (Sandbox Code Playgroud)

这在 Windows CMD 中可能吗?或者还有什么我应该做的吗?

tan*_*ish 6

(编辑:为了清楚起见,正如大卫所指出的,这在通用 Windowscmd解释器中不起作用。这更像是一个 powershell 单行程序)

你可以这样做:

cat chat.log | %{$_ -replace "\[[^]]*\] +[^ ]*: ",""} > words.txt

翻译:读取 的内容chat.log,然后将其通过管道传输到命令中,以替换每行前面看起来像时间戳/用户名的任何内容,并将结果放入words.txt

我也进行了猜测,对于奇怪的情况,例如:

[Jun 01 2015 02:24:15 UTC] swimsphinx: test2 [Jun 01 2015 02:24:15 UTC] swimsphinx: message

你想得到

test2 message

而不是

test2 [Jun 01 2015 02:24:15 UTC] swimsphinx: message