python - 如何 GREP 单词,而不是包含特定字符的行,并打印整个单词

标签 python regex linux bash ubuntu

我有一个包含大量行和词的文件,例如这个例子:

C742 C743 C744 C745 C835 C836 C837 C838 C839 C840 C841 C842 C843 C844 C845 C935 C936 C937 C938 C939 C940 C941 C942 C943 C944 C945 C1035 C1036 C1037 C1038 C1039 C1040 C1041 C1042 C1043 C1044 C1045 D135 D136 D137 D138 D139 D140 D141 D142 D143 D144 D145 D235 D236 D237 D238 D239 D240 D241 D242 D243 D244 D245 D335 D336 D337 D338 D339 D340 D341 D342 D343 D344 D345 D435 D436 D437 D438 D439 D440 D441 D442 D443 D444

我想做的是只列出包含特定数字的单词(假设每个 4 个字符的组合是一个单词),例如 35

在这个例子中,我希望打印的结果是:

C835
C935
C1035
D135
D235
D335
D435

我尝试了几种不同的方法,例如仅使用 grep 查找包含 35 的整行被打印,或者 grep -o 35 仅查找 35 被打印出来,我不知道那个数字的前缀是什么。

最佳答案

尝试以下 bash 脚本:

cat words.txt | tr " " "\n" | grep 35

说明:

cat 读取 words.txt 并将它们吐出到 STDOUT,STDOUT 通过管道传输到 tr,这意味着“翻译”:在本例中来自空格 ("")到换行符 ("\n"),然后 grep 将执行其默认的逐行行为并搜索任何包含 35 的内容。

关于python - 如何 GREP 单词,而不是包含特定字符的行,并打印整个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34584484/

相关文章:

python - numpy vs 列表理解,哪个更快?

python - 如何使用 Python-pptx 在 PowerPoint 中反转聚类条形图的类别顺序?

javascript - 非空白字符的返回值

linux - `tcpdump` 显示相同 ARP 数据包的不同长度

linux - 这些磁盘读取从哪里来?

linux - Linux 中任务向量位于哪里?

python - 为不同大小制作循环 def

python - 为什么我可以在函数中使用变量之前在 Python 中定义它?

python - 将隐含乘法 (*) 添加到 Python 字符串的最佳方法?

regex - 正则表达式关于如何指定输入的混淆