내 파일에서 영숫자 줄만 인쇄하려면 어떻게 해야 합니까?

내 파일에서 영숫자 줄만 인쇄하려면 어떻게 해야 합니까?

이것은 내 파일입니다. 이 파일에서 linux/unix 명령을 사용하여 영숫자 줄만 인쇄해야 합니까?

1234567890 
1234567890 
123456789X 
0974385495 

예상 출력:

123456789X 

다음 명령을 사용하여 출력을 가져옵니다.

$ tr -cd '[:alnum:]' < distinct_file.txt

12345678901234567890123456789X0974385495

답변1

최소한 하나의 숫자와 최소한 하나의 알파벳 문자를 포함하는 행을 원할 경우 다음을 수행하십시오.

< file grep '[[:digit:]]' | grep '[[:alpha:]]'

또는 모든 문자를 alnum으로 지정하려면 위의 내용을 파이프로 연결하거나( grep -v '[^[:alnum:]]'alnum이 아닌 문자( )가 하나 이상 포함된 행 제거) 다음 명령을 사용하면 됩니다.-vgrep

< file grep -xe '[[:alnum:]]*[[:digit:]][[:alnum:]]*[[:alpha:]][[:alnum:]]*' \
             -e '[[:alnum:]]*[[:alpha:]][[:alnum:]]*[[:digit:]][[:alnum:]]*'

답변2

사용법: 또는 문자( ) grep( ) 뒤에 숫자( )가 언제든지 오거나 그 반대:|[:alpha:][:digit:]

grep -E '[[:alpha:]].*[[:digit:]]|[[:digit:]].*[[:alpha:]]'

예:

% cat file.txt 
1234567890
1234567890
123456789X
0974385495

% grep -E '[[:alpha:]].*[[:digit:]]|[[:digit:]].*[[:alpha:]]' file.txt 
123456789X

답변3

이 필터는 하나 이상의 알파 문자가 있는 모든 줄을 제공합니다.

grep '[[:alpha:]]' distinct_file.txt

관련 정보