이것은 내 파일입니다. 이 파일에서 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이 아닌 문자( )가 하나 이상 포함된 행 제거) 다음 명령을 사용하면 됩니다.-v
grep
< 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