![내 파일에서 영숫자 줄만 인쇄하려면 어떻게 해야 합니까?](https://linux55.com/image/113775/%EB%82%B4%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EC%98%81%EC%88%AB%EC%9E%90%20%EC%A4%84%EB%A7%8C%20%EC%9D%B8%EC%87%84%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
이것은 내 파일입니다. 이 파일에서 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