仅从文本文件中提取单词

rwa*_*ace 1 linux unix

获取文本文件并去除空格和标点符号,只留下单词,每行一个单词的 Unix 命令是什么?

Bli*_*isk 7

这已经在 stackoverflow 上针对执行此操作的 shell 命令进行了回答。

或者,您也可以使用 vim 来执行此操作,如 stackoverflow 上的这篇文章中所述

ramion 给出的关于如何使用 shell 的最佳答案:


你可以使用grep

  • -E '\w+' 搜索词
  • -o 只打印匹配的行部分
% 猫温度
一些例子使用“敏捷的棕色狐狸跳过懒惰的狗”,
而不是“Lorem ipsum dolor sat amet, consectetur adipiscing elit”
例如文本。
# 如果你不在乎单词是否重复
% grep -o -E '\w+' temp
一些
例子
用
这
快的
棕色的
狐狸
跳了
超过
这
懒惰的
狗
相当
比
勒姆
ipsum
苦恼
坐
阿米特
节选
吸脂
精英
为了
例子
文本

如果你只想打印每个单词一次,不考虑大小写,你可以使用 sort

  • -u 每个单词只打印一次
  • -f告诉sort在比较单词时忽略大小写
# 如果你只想要每个单词一次
% grep -o -E '\w+' temp | 排序 -u -f
吸脂
阿米特
棕色的
节选
狗
苦恼
精英
例子
例子
为了
狐狸
ipsum
跳了
懒惰的
勒姆
超过
快的
相当
坐
一些
文本
比
这
用