ฉันสามารถทำได้diff filea filebเพื่อดูความแตกต่างระหว่างไฟล์ ฉันสามารถทำได้head -1 fileaเพื่อดูบรรทัดแรกของ filea หรือ fileb ฉันจะรวมคำสั่งเหล่านี้เพื่อแสดงความแตกต่างระหว่างบรรทัดแรกของ filea และบรรทัดแรกของ fileb ได้อย่างไร
ฉันสามารถทำได้diff filea filebเพื่อดูความแตกต่างระหว่างไฟล์ ฉันสามารถทำได้head -1 fileaเพื่อดูบรรทัดแรกของ filea หรือ fileb ฉันจะรวมคำสั่งเหล่านี้เพื่อแสดงความแตกต่างระหว่างบรรทัดแรกของ filea และบรรทัดแรกของ fileb ได้อย่างไร
คำตอบ:
หากเชลล์ของคุณรองรับการทดแทนกระบวนการให้ลอง:
diff <(head -n 1 filea) <(head -n 1 fileb)
หากคุณเปรียบเทียบบรรทัดแรกของแต่ละไฟล์คุณอาจสนใจเกี่ยวกับการเปลี่ยนแปลงระดับคำภายในบรรทัดโดยใช้dwdiff:
dwdiff <(head -n 1 filea) <(head -n 1 fileb)
dwdiffมีตัวเลือกที่ดีบางอย่างชอบ-cเปลี่ยนสีคำที่มีสี
หรือใช้sedแทนหัว:
dwdiff <(sed 1q filea) <(sed 1q fileb)
ซึ่งคู่มือสำหรับ headนั้นสามารถพกพาได้ง่ายกว่า head เนื่องจากไวยากรณ์ของ head นั้นเปลี่ยนแปลงไปตามกาลเวลาhead -1vshead -n 1
นอกจากนี้คุณยังสามารถเปลี่ยนการมองเห็นได้โดยพิมพ์น้อยลง:
head -n1 -q filea fileb
ซึ่งจะแสดงทั้งสองบรรทัดหนึ่งบรรทัดด้านล่างเพื่อการเปรียบเทียบภาพที่ง่าย
คุณสามารถใช้ได้:
if [ "`head -1 file1`" == "`head -1 file2`" ]; then echo "the same"; fi