首頁  >  文章  >  運維  >  [20170705]diff比較執行結果的內容.txt

[20170705]diff比較執行結果的內容.txt

PHP中文网
PHP中文网原創
2017-07-06 18:16:281550瀏覽

[20170705]diff比較執行結果的內容.txt

--//有時候需要比較2個指令輸出的結果進行比較,比較笨的方法如下,範例:

#$  lsnrctl status LISTENER_SCAN2 > /tmp/b2.txt
$  lsnrctl status LISTENER_SCAN3 > /tmp/b3.txt
$  diff -Nur /tmp/b2.txt /
--//很明顯這樣要產生2個檔案,然後比較,實際上利用shell可以很簡單的實作.

$  lsnrctl status LISTENER_SCAN3 | diff /tmp/2.txt -
--//這樣減少1個檔案的產生,可以再減少檔案產生嗎?

$  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 grid oinstall 64 2017-07-05 16: 16:07 0 -> /dev/pts/4
lrwx------ 1 grid oinstall 64 2017-07-05 16:16:07 1 -> /dev/pts/4
# lrwx------ 1 grid oinstall 64 2017-07-05 16:16:07 2 -> /dev/pts/4
lr-x------ 1 grid oinstall 64 2017-07 -05 16:16:07 3 -> /proc/101318/fd

--//寫一個簡單的shell腳本就很好理解了(注意這種寫法不是很嚴謹):
--//我直接讀句柄63,62的內容.

$  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
< Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2)))
---
> Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)( KEY=LISTENER_SCAN3)))
9c9
< Alias                     •    LISTENER_SCAN3
11,12c11,12
< Start Date                30-JUN-2017 12:00:03
< Uptime                    5 days 4 hr. 18 min. 37 sec##------- 5 days 4 hr. 18 min。 0-JUN-2017 12:00:58
> Uptime 。 ; Listener Log File         /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= (PROTOCOL=ipc)(KEY=LISTENER_SCAN3)))
>   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.107)(PORT=1521)))
#-- //想到這裡,我終於理解exp/imp on the fly.範例:

$ exp scott/book file=>(gzip >t.dmp.gz) tables=emp
$ imp scott/book full=y  file=<(gunzip

以上是[20170705]diff比較執行結果的內容.txt的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn