[20170705]diff は実行結果の内容を比較します。txt
--//2 つのコマンドの出力結果を比較する必要がある場合があります。例:
$ lsnrctl status LISTENER_SCAN2 > tmp/ b2.txt
$ lsnrctl status LISTENER_SCAN3 > /tmp/b3.txt
$ diff -Nur /tmp/b2.txt /tmp/b3.txt
--//明らかに、これは 2 つのファイルを生成して比較します。実際、シェルを使用して簡単に実装できます。
$ lsnrctl status LISTENER_SCAN3 | diff /tmp/2.txt -
--//これにより、ファイルの生成をさらに減らすことができます。 ?
$ diff <(lsnrctl status LISTENER_SCAN2) <(lsnrctl status LISTENER_SCAN3)
--//どうやって理解すればいいですか?
$ echo <(lsnrctl status LISTENER_SCAN2) <(lsnrctl status LISTENER_SCAN3)
/dev/ fd/63 /dev /fd/62
--//実際には、62,63 は開いているファイルハンドルです。もちろん、実行後すぐに閉じられます。
$ ls -l /dev/fd
lrwxrwxrwx 1 root root 13 2014-12-11 02:24 :57 /dev/fd -> /proc/self/fd
$ ls -l /dev/fd/
total 0
lrwx------ 1 グリッドoinstall 64 2017-07-05 16:16:07 0 -> /dev/pts/4
lrwx------ 1 グリッド oinstall 64 2017-07-05 16:16:07 1 -> /dev /pts/4
lrwx----- - 1 グリッド oinstall 64 2017-07-05 16:16:07 2 -> /dev/pts/4
lr-x------ 1 グリッド oinstall 64 2017-07-05 16:16:07 3 -> /proc/101318/fd
--//簡単なシェルスクリプトを書くのは簡単です(この書き方はそれほど厳密ではないことに注意してください):
-- //ハンドル 63,62 を直接読み取ります。 Content.
$ cat a.sh
#! /bin/bash
echo <(lsnrctl status LISTENER_SCAN2) <(lsnrctl status LISTENER_SCAN3)
diff /dev/fd/63 /dev/fd/62
$ .a.sh
/dev/fd/63 /dev/fd/62
6c6
< (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2)) )
---
> (説明 = (アドレス = (propocol = ipc) (キー = Listener_scan3))
9c9
& lt; エイリアス listner_scan2
---
& gt; & lt; 開始日 30- 2017 年 6 月 12:00:03🎉 5 日 4 時間 43 秒
17c17
< リスナー ログ ファイル /u01/app/11.2.0.4/grid/network/log/listener_scan2.log
---
> リスナー ログ ファイル /u01/app/11.2.0.4/grid/network /log/listener_scan3.log
19,20c19,20
< (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= 192.168.100.109)(PORT=1521)))
---
> (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN3) )))
> (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=192.168.100.107)(PORT=1521)))
--//こう考えると、ようやく exp/imp をその場で理解できました例:
$ exp scott/book file=>(gzip > t.dmp.gz) tables=emp
$ imp scott/book full=y file=<(gunzip
以上が[20170705] diff比較実行結果.txtの内容の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。