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のリストを必要に応じて調整するのはかなり簡単です。

おすすめ記事