croos-kのメインエンブレム

サイト名
  1. HOME
  2. Linux便利なコマンド
  3. テキスト比較(diffよりsdiff)

テキスト比較(sdiff)


テキスト比較するならdiffよりsdiff!

テキスト比較では「diff」コマンドを使うことが一般的と思われている

例えば「text01.sh」と「text02.sh」を「diff」コマンドを使って比較してみるとパッと見解りづらい。

text01.shの内容

[@localhost wk01]$ cat text01.sh
#!/bin/sh
echo "はじめの一歩"
echo "はじめの一歩"
echo "はじめのいっぽ"
echo "初めのいっぽ"
exit
[@localhost wk01]$

text02.shの内容

[@localhost wk01]$ cat text02.sh
#!/bin/sh
echo "はじめの一歩"
echo "はじめの二歩"   ---変更
echo "はじめのいっぽ"
echo "初めのいっぽ"
echo "追加行"      ---追加
exit
[@localhost wk01]$


「diff」コマンドで比較した内容

[@localhost wk01]$ diff text01.sh text02.sh
3c3
< echo "はじめの一歩"
---
> echo "はじめの二歩"
5a6
> echo "追加行"
[@localhost wk01]$

1行変更され1行追加されたことは解るがテキスト全体がイメージできない。


これを「sdiff」コマンドで表示すると下記のようにテキスト内容が並んで表示される

[@localhost wk01]$ sdiff text01.sh text02.sh
#!/bin/sh               #!/bin/sh
echo "はじめの一歩"           echo "はじめの一歩"
echo "はじめの一歩"          | echo "はじめの二歩"
echo "はじめのいっぽ"          echo "はじめのいっぽ"
echo "初めのいっぽ"           echo "初めのいっぽ"
                    > echo "追加行"
exit                  exit
[@localhost wk01]$

「diff」より「sdiff」の方が比較結果が見やすいのは明らかです。