我一直在 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
然后,通过在命令行中写入来执行它。
“程序”就是利用“正则表达式”来选择某种结构的文本,并在某种结构重合时决定如何处理。