목록에서 단어 제거

목록에서 단어 제거

나는 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그런 다음 명령줄에 작성하여 실행합니다.

"프로그램"이란 "정규식"을 사용하여 특정 구조의 텍스트를 선택하고, 특정 구조가 겹칠 때 이를 처리하는 방법을 결정하는 것입니다.

관련 정보