私は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
次に、コマンドラインに書き込んで実行します。
「プログラム」とは、「正規表現」を使用して特定の構造のテキストを選択し、特定の構造が重なっているときに処理する方法を決定することです。