grep 사용 후 Linux 명령을 사용하여 불필요한 정보를 삭제하는 방법

grep 사용 후 Linux 명령을 사용하여 불필요한 정보를 삭제하는 방법

다양한 정보가 형식화되지 않은 방식으로 포함된 파일이 있습니다. 본문에 언급된 모든 .com, .org 및 .net .de 도메인 이름 목록을 작성하라는 요청을 받았습니다. 각 항목에는 domain.extension(stackexchange.com이 아님)만 포함되어야 합니다.http://www.stackexchange.com/index) 목록에 한 번만 나타나야 합니다.

다음은 데이터의 예입니다.

230 User astalavista.com logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls -la
227 Entering Passive Mode (212,254,194,163,2,188)
150 Opening BINARY mode data connection for 'file list'.
dr-x------   1 root users         4096 Jun  4 06:13 astalavista.com
226 Transfer complete.
ftp> cd astalavista.com
250 CWD command successful.
ftp> ls -la
227 Entering Passive Mode (212,254,194,163,2,189)
150 Opening BINARY mode data connection for 'file list'.
-rw-rw-rw-   1 astalavista.com users     23410936878 Apr 29 22:10 
09-04-28-astacom_full.tar
-rw-rw-rw-   1 astalavista.com users     20617651590 Apr 29 14:18 
09-04-28-astacom_full.tar.bz2
-rw-rw-rw-   1 astalavista.com users        88287111 Apr 29 15:57 
09-04-29-astacom_sql_full.sql.tar.bz2
-rw-rw-rw-   1 astalavista.com users     26413034040 May  2 00:21 
09-05-01-astacom-Public_HTML.tar
rw-rw-rw-   1 astalavista.com users       277843549 May  1 17:29 
09-05-01-astacom-SQL_Dump.tar
[snip]
226 Transfer complete.
ftp> mdelete *
ftp> ls -la
227 Entering Passive Mode (212,254,194,163,2,193)
150 Opening BINARY mode data connection for 'file list'.
226 Transfer complete.
ftp>

지금까지 나는 egrep을 사용하여 .com, .net, .org, .de의 모든 항목을 찾았습니다.

egrep '\.\de|\.\com|\.\org|\.\net' hacklog1 

나는 원치 않는 나머지 데이터를 제거하기 위해 sed를 사용하려고 시도했지만 소용이 없었습니다. 누군가 나에게 도움이 되는 명령 구문을 제안할 수 있습니까?

답변1

다음과 같이 시도해 보세요:

egrep -o '[0-9A-Za-z_-]+\.(com|org|net|de)\b'

이전에 TLD에 허용된 문자와 허용된 TLD 목록을 원하는 대로 조정하는 것은 상당히 쉬울 것입니다.

관련 정보