Linux sdiff -komennon esimerkit Linux-aloittelijoille
Yhdessä aikaisemmassa artikkelissamme olemme selittäneet noin 9 parasta tiedostojen vertailu- ja ero (Diff) -työkalua Linux-järjestelmille. Luettelimme komentorivi- ja GUI-työkalujen yhdistelmän tiedostojen välisten erojen vertailemiseksi ja löytämiseksi, joista jokaisella on tiettyjä merkittäviä ominaisuuksia. Toinen hyödyllinen Linux-diff-apuohjelma on nimeltään sdiff.
sdiff on yksinkertainen komentorivi-apuohjelma, joka näyttää kahden tiedoston väliset erot ja sulautuvat vuorovaikutteisesti. Sitä on helppo käyttää ja siinä on suoraviivainen käyttövaihtoehto, kuten alla selitetään.
Sdiffin käyttö syntaksissa on seuraava.
$ sdiff option... file1 file2
Näytä ero kahden tiedoston välillä Linuxissa
1. Helpoin tapa suorittaa sdiff on antaa kaksi tiedostonimeä, joita yrität verrata. Se näyttää yhdistetyn erotuksen vierekkäin seuraavan kuvakaappauksen mukaisesti.
$ cal >cal.txt $ df -h >du.txt $ sdiff du.txt cal.txt
Käsittele kaikkia tiedostoja tekstitiedostoina
2. Jos haluat käsitellä kaikkia tiedostoja tekstinä ja verrata niitä rivi riviltä riippumatta siitä, ovatko ne tekstitiedostoja, käytä -a
-merkkiä.
$ sdiff -a du.txt cal.txt Filesystem Size Used Avail Use% Mounted on | April 2018 udev 3.9G 0 3.9G 0% /dev | Su Mo Tu We Th Fr Sa tmpfs 788M 9.7M 779M 2% /run | 1 2 3 4 5 6 7 /dev/sda10 324G 265G 43G 87% / | 8 9 10 11 12 13 14 tmpfs 3.9G 274M 3.6G 7% /dev/shm | 15 16 17 18 19 20 21 tmpfs 5.0M 4.0K 5.0M 1% /run/lock | 22 23 24 25 26 27 28 tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup | 29 30 /dev/loop2 82M 82M 0 100% /snap/core/4206 | /dev/loop4 181M 181M 0 100% /snap/vlc/190 < /dev/loop1 87M 87M 0 100% /snap/core/4407 < /dev/loop0 189M 189M 0 100% /snap/vlc/158 < /dev/loop3 83M 83M 0 100% /snap/core/4327 < cgmfs 100K 0 100K 0% /run/cgmanager/fs < tmpfs 788M 40K 788M 1% /run/user/1000 <
Ohita välilehdet ja välilyönti
3. Jos sinulla on tiedostoja, joissa on liikaa tyhjää tilaa, voit kertoa sdiffille, että se jättää välilyönnin välilyönnin verrattaessa -W
-kytkimellä.
$ sdiff -W du.txt cal.txt
4. Voit myös kertoa sdiffille, että se jättää väliin kaikki tyhjät tilat rivin lopussa käyttämällä -z
-vaihtoehtoa.
$ sdiff -z du.txt cal.txt
5. Lisäksi voit antaa sdiffin ohittaa välilehden laajennuksesta johtuvat muutokset -E
-lipulla.
$ sdiff -E du.txt cal.txt
Ohita tapaus verrattaessa eroa
6. Ohita kirjaimet (joissa sdiff käsittelee isoja ja pieniä kirjaimia samoina) käyttämällä -i
-vaihtoehtoa kuvan mukaisesti.
$ sdiff -i du.txt cal.txt
Ohita tyhjät viivat verrattaessa eroa
7. -B
-vaihtoehto auttaa ohittamaan tiedostojen tyhjän rivin.
$ sdiff -B du.txt cal.txt
Määritä tuotettavien sarakkeiden määrä
8. sdiff antaa sinun asettaa tulostettavien sarakkeiden määrän (oletus on 130) käyttämällä -w
-kytkintä seuraavasti.
$ sdiff -w 150 du.txt cal.txt
Laajenna välilehdet kohtaan Spaces
9. Laajenna välilehdet välilyönteihin käyttämällä -t
-vaihtoehtoa.
$ sdiff -t du.txt cal.txt
Suorita sdiff vuorovaikutteisesti
10. -o
-lipun avulla se voi toimia interaktiivisemmin ja lähettää lähdön tiedostoon. Tässä komennossa lähtö lähetetään sdiff.txt-tiedostoon, paina Enter-näppäintä nähtyäsi %
-merkin, saadaksesi interaktiivisen valikon.
$ sdiff du.txt cal.txt -o sdiff.txt
Filesystem Size Used Avail Use% Mounted on | April 2018
udev 3.9G 0 3.9G 0% /dev | Su Mo Tu We Th Fr Sa
tmpfs 788M 9.7M 779M 2% /run | 1 2 3 4 5 6 7
/dev/sda10 324G 265G 43G 87% / | 8 9 10 11 12 13 14
tmpfs 3.9G 274M 3.6G 7% /dev/shm | 15 16 17 18 19 20 21
tmpfs 5.0M 4.0K 5.0M 1% /run/lock | 22 23 24 25 26 27 28
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup | 29 30
/dev/loop2 82M 82M 0 100% /snap/core/4206 |
/dev/loop4 181M 181M 0 100% /snap/vlc/190 <
/dev/loop1 87M 87M 0 100% /snap/core/4407 <
/dev/loop0 189M 189M 0 100% /snap/vlc/158 <
/dev/loop3 83M 83M 0 100% /snap/core/4327 <
cgmfs 100K 0 100K 0% /run/cgmanager/fs <
tmpfs 788M 40K 788M 1% /run/user/1000 <
%
ed: Edit then use both versions, each decorated with a header.
eb: Edit then use both versions.
el or e1: Edit then use the left version.
er or e2: Edit then use the right version.
e: Discard both versions then edit a new one.
l or 1: Use the left version.
r or 2: Use the right version.
s: Silently include common lines.
v: Verbosely include common lines.
q: Quit.
%
Huomaa, että joissakin muokkausohjelmissa, kuten ed, on asennettava järjestelmään ennen niiden käyttöä tässä skenaariossa.
Kutsu toinen ohjelma tiedostojen vertaamiseksi
11. --diff-program
-kytkimellä voit soittaa toiselle komentorivityökalulle paitsi sdiff itse tiedostojen vertailemiseksi. Voit esimerkiksi soittaa diff-ohjelmaan kuvan mukaisesti.
$ sdiff --diff-program=diff du.txt cal.txt
Lisätietoja on sdiff-man-sivulla.
$ man sdiff
Tässä artikkelissa tarkastelimme sdiff-komentorivityökalun esimerkkejä aloittelijoille. Jos sinulla on kysyttävää, käytä alla olevaa kommenttilomaketta päästäksesi meihin.