如何从纯文本文件中获取字符串[重复]

Posted

技术标签:

【中文标题】如何从纯文本文件中获取字符串[重复]【英文标题】:How to get a string out of a plain text file [duplicate] 【发布时间】:2017-05-02 20:47:36 【问题描述】:

我有一个 .txt 文件,其中包含一个包含哈希和密码的列表,所以它看起来像这样:

00608cbd5037e18593f96995a080a15c:9e:hoboken
00b108d5d2b5baceeb9853b1ad9aa9e5:1c:wVPZ

在这个 txt 文件中,我只需要提取密码并将它们添加到一个新的文本文件中,这样我就有一个如下所示的列表:

hoboken 
wVPZ
etc
etc
etc
etc

如何使用bash、脚本语言或简单地使用文本编辑器来执行此操作?

【问题讨论】:

如果您的列表以: 分隔,您的列表似乎有 3 个信息,而不是两个。 Here's a very similar question 应该可以帮助您在 bash 中拆分文本文件中的行。之后,由您决定是否将 if 保存到新文件(可以使用 echo >> /path/file 之类的东西)。祝你好运。 【参考方案1】:

你也可以使用grep:

$ grep -o [^:]*$ file
hoboken
wVPZ
-o只打印匹配部分 [^:] 除了: *所有匹配字符 $ 记录结束

【讨论】:

非常感谢,我通过像你这样的人在这个社区学到了很多东西!谢谢大家!!【参考方案2】:

使用 sed,删除最多 : 的字符串:

sed 's/.*://' file

【讨论】:

【参考方案3】:

我建议使用 awk 来获取文件的最后一列:

awk -F ':' 'print $NF' file

输出:

霍博肯 wVPZ

【讨论】:

有趣的方法,我投票给你。事实上,您的答案可能是错误的,因为我们不知道密码是否总是在最后一列——也许在某些行中我们可能有一个额外的最后一列,所以密码不会被检索到。另一方面,我的回答假设密码之前的字符串只有: 作为分隔符,而不会出现在字符串本身上,这也可能是错误的。啊..我喜欢这样的现实生活问题,信息有限/不充分,它们很有挑战性,让你深入思考。 @JamilSaid:是的,可以澄清这个问题。也许第二列是一种salt。【参考方案4】:

鉴于您的示例,cut 的以下使用将实现您想要的:

cut -f3 -d':' /folder/file >> /folder/result

上面的代码将删除每行第二个冒号 : 之前(包括)的任何内容,这将适用于您的情况,给出您的示例。结果存储在/folder/result

编辑:我编辑了这个答案以使其更简单。

【讨论】:

非常感谢,我通过像你这样的人在这个社区学到了很多东西!

以上是关于如何从纯文本文件中获取字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 从纯文本和 HTML 文本的混合创建 PDF [重复]

Python - 如何获取文本文件中的行数[重复]

vue js - 从纯文本到 vue 组件的 HTML 注入

Azure API App,在哪里存储纯文本文件?

如何使用python 2.7通过变量写入文本文件[重复]

如何在java中将字符串保存在文件中[重复]