sdiff
Linux Command – sdiff ใช้ในการวิเคราะห์เปรียบเทียบข้อมูล file ทีละบรรทัด
คำสั่ง
ตัวอย่าง file1 และ file2 ที่ทำการจัดเรียง (sort) ข้อมูลแล้ว
$ cat file1.sort aaaaaaaaaaa bbbbbbbbbbb ccccccccccc ddddddddddd eeeeeeeeeee fffffffffff ggggggggggg $ cat file2.sort 22222222222 33333333333 aaaaaaaaaaa ccccccccccc ddddddddddd xxxxxxxxxxx zzzzzzzzzzz
1. เปรียบเทียบข้อมูล 2 file
sdiff <file1> <file2>
$ sdiff file1.sort file2.sort > 22222222222 > 33333333333 aaaaaaaaaaa aaaaaaaaaaa bbbbbbbbbbb < ccccccccccc ccccccccccc ddddddddddd ddddddddddd eeeeeeeeeee | xxxxxxxxxxx fffffffffff | zzzzzzzzzzz ggggggggggg <
2. ทำการรวม file ด้วยเงื่อนไข
หลังจากเปรียบเทียบระบบจะให้เลือกว่าใช้ข้อมูล file ไหนเป็นตัวอ้างอิง
- file แรกหรือซ้ายจะเป็น 1
- file สองหรือขวาจะเป้น 2
$ sdiff -o mergefile file1.sort file2.sort > 22222222222 > 33333333333 % 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. %2 aaaaaaaaaaa aaaaaaaaaaa bbbbbbbbbbb < %1 ccccccccccc ccccccccccc ddddddddddd ddddddddddd eeeeeeeeeee | xxxxxxxxxxx fffffffffff | zzzzzzzzzzz ggggggggggg < %2
$ cat mergefile 22222222222 33333333333 aaaaaaaaaaa bbbbbbbbbbb ccccccccccc ddddddddddd xxxxxxxxxxx zzzzzzzzzzz
โครงสร้างคำสั่ง
sdiff [OPTION]... FILE1 FILE2
รายละเอียด
เป็นคำสั่งที่ใช้ในการวิเคราะห์เปรียบเทียบข้อมูล file ทีละบรรทัด และสามารถรวมกับด้วย option -o สำหรับข้อมูลที่เป็นชุด (list) ควรทำการจัดเรียง หรือ sort ข้อมูลทั้ง 2 file ก่อนทำการวิเคราะห์เปรียบเทียบ
Option
Mandatory arguments to long options are mandatory for short options too. -o, --output=FILE operate interactively, sending output to FILE -i, --ignore-case consider upper- and lower-case to be the same -E, --ignore-tab-expansion ignore changes due to tab expansion -Z, --ignore-trailing-space ignore white space at line end -b, --ignore-space-change ignore changes in the amount of white space -W, --ignore-all-space ignore all white space -B, --ignore-blank-lines ignore changes whose lines are all blank -I, --ignore-matching-lines=RE ignore changes whose lines all match RE --strip-trailing-cr strip trailing carriage return on input -a, --text treat all files as text -w, --width=NUM output at most NUM (default 130) print columns -l, --left-column output only the left column of common lines -s, --suppress-common-lines do not output common lines -t, --expand-tabs expand tabs to spaces in output --tabsize=NUM tab stops at every NUM (default 8) print columns -d, --minimal try hard to find a smaller set of changes -H, --speed-large-files assume large files, many scattered small changes --diff-program=PROGRAM use PROGRAM to compare files --help display this help and exit -v, --version output version information and exit
กลุ่มคำสั่ง
Reference:
Author: Suphakit Annoppornchai
Credit: https://saixiii.com