从列表中删除单词

从列表中删除单词

我一直在 Kali Linux 中使用 crunch 使用 lalphanumeric (af 3-9 ) 命令创建一个 10 个字符长的单词列表。我知道它们是大文件,所以请不要告诉我不要这样做。我使用 a@@@@@@@@ 创建了列表,然后使用 b@@@@@@@@@ 等等。

现在我需要的是删除第一个字母后包含所有数字的单词,或者全部是字母。例如,删除 a123456789 、 a587636486 、 a888888888... 或者。 agdujcjfuf,aaaaaaaaaa ..(全是字母或全数字的。我假设这会大大减少我的单词列表的大小..

但显然我需要保留所有至少包含 3 个数字或 3 个字母的单词。

谁能帮我发个命令。

'rm -ia[0-9]' 。 。 。 。 。 。 。 。 。 'rm -I a[az]'。 。 。也许。?

在我先确认之前我不想这样做

答案1

假设要删除的值位于名为file.txt.

将其写入 txt 文件,并将其存储为script.sh

#!/bin/bash

awk '/^[a-z]*$/ {next}      # Do not print lines that are all lowercase letters.
     /^[A-Z]*$/ {next}      # Do not print lines that are all lowercase letters.
     /^a[0-9]*$/ {next}     # Do not print lines that are an a followed by all numbers.
     /^[a-z][0-9]*$/ {next} # ONE lowercase letter (anyone) followed by numbers.
     {print} ' file.txt > result.txt

bash script.sh然后,通过在命令行中写入来执行它。

“程序”就是利用“正则表达式”来选择某种结构的文本,并在某种结构重合时决定如何处理。

相关内容