如何在UNIX中从文件中提取字符串

如何在UNIX中从文件中提取字符串,unix,Unix,我在unix上有一个文件,它有一行特殊字符,也有纯字符串。特殊字符可以是任何类似于.、$%&*-@的字符。下面的示例 样本输入 \302\275B\303\236Gcl\302\275t eRkAtMbn; Jacob Chinese 39:00 Language 53.00 输出: 雅各布 中国人 语言 我只想从这个文件中获取纯字符串行。我有一种方法来读取每一行,并将每一个字符与字母表进行比较,但若文件很大,那个么它将消耗大量时间 有更好的方法或建议吗 您的最佳选择是

我在unix上有一个文件,它有一行特殊字符,也有纯字符串。特殊字符可以是任何类似于.、$%&*-@的字符。下面的示例 样本输入

\302\275B\303\236Gcl\302\275t eRkAtMbn;  
Jacob  
Chinese  
39:00  
Language  
53.00  
输出: 雅各布 中国人 语言

我只想从这个文件中获取纯字符串行。我有一种方法来读取每一行,并将每一个字符与字母表进行比较,但若文件很大,那个么它将消耗大量时间

有更好的方法或建议吗

您的最佳选择是grep实用程序


具体来说,我们正在对只包含字符[a-z]的行以及从开始^到结束$.的字符进行不区分大小写的搜索。请发布您使用的工具或脚本,以及示例输入和预期输出。我不知道它是否完全满足您的需要,但请查看“字符串”实用程序。通过将文件路径作为命令行参数传递来运行它,它使用简单的shell脚本打印出它找到的字符串。到目前为止,我还没有编写过代码。我在晒太阳。示例输入和输出写在问题中。您是希望有人为您编写代码,还是希望自己先尝试一下?不,先生,这根本不是我的期望。我只是仔细查看了您的输入。。这些行的末尾有空格吗?如果是这样,则需要更新正则表达式以将空格作为有效字符包括在内:例如[a-z]
grep -i '^[a-z]\+$' file.txt