[20170705] Contenu du fichier results.txt de l'exécution de la comparaison différentielle

PHP中文网
Libérer: 2017-07-06 18:16:28
original
1552 Les gens l'ont consulté

[20170705] résultat de l'exécution de la comparaison diff content.txt

--//Parfois, il est nécessaire de comparer les résultats de sortie de deux commandes. La méthode stupide est la suivante, exemple :
$ lsnrctl statut LISTENER_SCAN2 > /tmp/b2.txt
$ lsnrctl statut LISTENER_SCAN3 > /tmp/b3.txt
$ diff -Nur /tmp/b2.txt /tmp/b3.txt

--//Évidemment, cela nécessite de générer 2 fichiers puis de les comparer. En fait, cela peut être facilement réalisé en utilisant le shell.

$ lsnrctl status LISTENER_SCAN3 | 🎜 >--//Cela réduit la génération d'un fichier. Peut-il réduire davantage la génération de fichiers ?

$ diff <(lsnrctl status LISTENER_SCAN2) <(lsnrctl status LISTENER_SCAN3)

-- //Comment comprendre ?
$ echo <(lsnrctl status LISTENER_SCAN2) <(lsnrctl status LISTENER_SCAN3)
/dev/fd/63 /dev/fd/62
--// en fait, 62 , 63 est le handle de fichier ouvert. Bien sûr, il sera fermé immédiatement après l'exécution

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

--//L'écriture d'un script shell simple est facile à comprendre (notez que cette méthode d'écriture est pas très rigoureux) :
--//J'ai lu directement le contenu du handle 63,62.

$ cat a.sh
# /bin/bash
echo <( lsnrctl status LISTENER_SCAN2) <( lsnrctl status LISTENER_SCAN3)
diff /dev/fd/63 /dev/fd/62

$ .sh
/dev/fd/63 /dev/. fd/62
6c6
< Connexion à (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2)))
---
> =(PROTOCOL=IPC)( KEY=LISTENER_SCAN3)))
9c9
< Alias ​​​​LISTENER_SCAN2
---
> ; Date de début 30-JUN-2017 12:00:03
< Temps de disponibilité 5 jours 4 h 18 min
---
> :58
> Temps de disponibilité 5 jours 4 heures 17 minutes 43 secondes
17c17
< >---
> ; Fichier journal de l'auditeur /u01/app/11.2.0.4/grid/network/log/listener_scan3.log
19,20c19,20
< PROTOCOL=ipc)(KEY=LISTENER_SCAN2 )))
< (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.109)(PORT=1521)))
---
> (DESCRIPTION=(ADRESSE= (PROTOCOL=ipc)(KEY=LISTENER_SCAN3)))
>

-- //En y réfléchissant, je comprends enfin exp/imp à la volée Exemple :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal