ตัวอย่างคำสั่ง Linux sdiff สำหรับมือใหม่ Linux
ในบทความก่อนหน้านี้ เราได้อธิบายเกี่ยวกับเครื่องมือเปรียบเทียบไฟล์และความแตกต่าง (Diff) ที่ดีที่สุด 9 รายการสำหรับระบบ Linux เราแสดงรายการส่วนผสมของเครื่องมือบรรทัดคำสั่งและ GUI สำหรับการเปรียบเทียบและค้นหาความแตกต่างระหว่างไฟล์ โดยแต่ละไฟล์มีคุณสมบัติที่โดดเด่นบางประการ ยูทิลิตี้ diff ที่มีประโยชน์อีกตัวหนึ่งสำหรับ Linux เรียกว่า sdiff
อ่านเพิ่มเติม: วิธีค้นหาความแตกต่างระหว่างสองไดเรกทอรีโดยใช้เครื่องมือ Diff และ Meld
sdiff เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งง่ายๆ สำหรับแสดงความแตกต่างระหว่างสองไฟล์และผสานแบบโต้ตอบ ใช้งานง่ายและมาพร้อมตัวเลือกการใช้งานที่ตรงไปตรงมาดังที่อธิบายไว้ด้านล่างนี้
ไวยากรณ์สำหรับการใช้ sdiff มีดังนี้
sdiff option... file1 file2
แสดงความแตกต่างระหว่างสองไฟล์ใน Linux
1. วิธีที่ง่ายที่สุดในการเรียกใช้ sdiff คือการระบุชื่อไฟล์ทั้งสองที่คุณต้องการเปรียบเทียบ มันจะแสดงความแตกต่างที่ผสานกันแบบเคียงข้างกันดังที่แสดงในภาพหน้าจอต่อไปนี้
cal >cal.txt
df -h >du.txt
sdiff du.txt cal.txt
ถือว่าไฟล์ทั้งหมดเป็นไฟล์ข้อความ
2. หากต้องการถือว่าไฟล์ทั้งหมดเป็นข้อความและเปรียบเทียบทีละบรรทัด ไม่ว่าจะเป็นไฟล์ข้อความหรือไม่ก็ตาม ให้ใช้แฟล็ก -a
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 <
ละเว้นแท็บและพื้นที่สีขาว
3. หากคุณมีไฟล์ที่มีช่องว่างมากเกินไป คุณสามารถสั่งให้ sdiff ละเว้นช่องว่างทั้งหมดในขณะที่เปรียบเทียบโดยใช้สวิตช์ -W
sdiff -W du.txt cal.txt
4. คุณยังสามารถสั่ง sdiff ให้ละเว้นช่องว่างที่ส่วนท้ายบรรทัดได้โดยใช้ตัวเลือก -z
sdiff -z du.txt cal.txt
5. นอกจากนี้ คุณยังสามารถสั่งให้ sdiff ละเว้นการเปลี่ยนแปลงเนื่องจากการขยายแท็บด้วยแฟล็ก -E
sdiff -E du.txt cal.txt
ละเว้นกรณีและการเปรียบเทียบความแตกต่าง
6. หากต้องการละเว้นตัวพิมพ์เล็ก (โดยที่ sdiff ถือว่าตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเหมือนกัน) ให้ใช้ตัวเลือก -i
ตามที่แสดง
sdiff -i du.txt cal.txt
ละเว้นบรรทัดว่างขณะเปรียบเทียบความแตกต่าง
7. ตัวเลือก -B
ช่วยละเว้นบรรทัดว่างในไฟล์
sdiff -B du.txt cal.txt
กำหนดจำนวนคอลัมน์ที่จะส่งออก
8. sdiff ช่วยให้คุณสามารถกำหนดจำนวนคอลัมน์ที่จะพิมพ์ (ค่าเริ่มต้นคือ 130) โดยใช้ -w
สลับดังนี้
sdiff -w 150 du.txt cal.txt
ขยายแท็บเป็นช่องว่าง
9. หากต้องการขยายแท็บเป็นช่องว่างในเอาต์พุต ให้ใช้ตัวเลือก -t
sdiff -t du.txt cal.txt
เรียกใช้ sdiff แบบโต้ตอบ
10. ธง -o
ช่วยให้สามารถทำงานแบบโต้ตอบได้มากขึ้นและส่งเอาต์พุตไปยังไฟล์ ในคำสั่งนี้ ผลลัพธ์จะถูกส่งไปยังไฟล์ sdiff.txt กด Enter หลังจากเห็นเครื่องหมาย %
เพื่อรับเมนูโต้ตอบ .
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.
%
โปรดทราบว่าคุณต้องมีตัวแก้ไขบางตัว เช่น ed ติดตั้งอยู่บนระบบของคุณก่อนที่จะใช้งานในสถานการณ์นี้
เรียกใช้โปรแกรมอื่นเพื่อเปรียบเทียบไฟล์
11. สวิตช์ --diff-program
ช่วยให้คุณสามารถเรียกใช้เครื่องมือบรรทัดคำสั่งอื่นนอกเหนือจาก sdiff เองเพื่อเปรียบเทียบไฟล์ เป็นต้น คุณสามารถเรียกโปรแกรม diff ดังที่แสดง
sdiff --diff-program=diff du.txt cal.txt
สำหรับข้อมูลเพิ่มเติม โปรดดูที่หน้า sdiff man
man sdiff
ในบทความนี้ เราได้ดูตัวอย่างเครื่องมือบรรทัดคำสั่ง sdiff สำหรับผู้เริ่มต้น หากคุณมีคำถามใด ๆ ใช้แบบฟอร์มความคิดเห็นด้านล่างเพื่อติดต่อเรา