私は偵察シェルスクリプトを作成しており、見つかったSIDだけがファイルまたは変数に保存できるように、odat sidguesserの出力を解析したいと思います。例えば。私にはロープがあります。
[+] SIDs found on the 10.10.10.82:1521 server: XE,XEXDB
私がしたいのは、この出力を分析してXEだけを維持することです。 sed、awk、grepなどを使ってどれくらいのSIDが見つかるのかわからず、有効なSIDをすべて取得できますか?次の方法でSIDを取得できます。
cat oracle-sid.txt | grep "server:" | rev | cut -d " " -f 1 | rev
単語/区切り文字の後にXE、SID、または文字列「server:」があるため、これは私の目的に非常に適しています。
ベストアンサー1
$ sed -n -e 's/^.*server: //p' oracle-sid.txt
XE,XEXDB
一致する行では、sed
スクリプトは行の先頭から「server:」(末尾のスペースを含む)まですべての内容を削除し、変更された行を印刷します。一致しない行は無視されます(つまり、印刷されません)。
IPアドレスとポートも維持するには、次の手順を実行します。
$ sed -e -e 's/^.* \([0-9.:]\+\) server: /\1\t/p' oracle-sid.txt
10.10.10.82:1521 XE,XEXDB
これは最初のバージョンと同じことを行いますが、IP:ポートとタブを含みます。