• ベストアンサー

diffについて

たとえば、lsでの出力結果とあるファイルの中身を diffで比較するにはどうしたらよいでしょうか。 記憶では  diff file.txt file.txt | -  のような記述だと思ったのですが、できません。 わかる方、お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.1

ls | diff file.txt - ではどうでしょうか。

nikogoo
質問者

お礼

          {               |           !                |            |  _ -‐'''''''""""""'''ー|            |‐''            .|,,,,,,,,,,,,,______           ,、L,,,,,,,,,,,,,,,,,,,,,,,,-‐‐‐''''"~´_____,,,,、、-‐'r゛       , -‐'    ________,,,,,,,、、、-=;;''''ヽ| ,,、-‐''"      < ―‐'''!'''''''h''T'''廿'i= .r廿´| { r~        ̄ ̄ |⌒i r ヽ-- '   |i‐‐‐'  }|           |λ|{       ヽ      | 待ってたぜ!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • diffコマンドにてテキスト出力

    こんばんは。教えてください! 以下のような2つのファイルがあるとします。 ・aaa.txt abc111 abc222 abc333 ・bbb.txt abc333 abc444 これを比較して、比較結果をテキスト出力したいです。 テキスト出力したい比較結果は (1)重複しているもの全てテキスト出力 (2)aaa.txtのみにあるものをテキスト出力 (3)bbb.txtのみにあるものをテキスト出力 また、(1)~(3)は別々のファイルに出力したいです。 diffコマンドで、 diff a.txt b.txt >> c.txt とすると、 1つのテキストファイル(c.txt)に (1)~(3)すべてが書かれてしまいます。 環境は、windows XPにてCygwinを使用しています。 diffコマンドでなくても構いません。 宜しくお願いします。

  • 複数のファイルをdiffで比較するために以下のシェルを作成しましたが

    複数のファイルをdiffで比較するために以下のシェルを作成しましたが diff: 「ファイル名」の後のオペランドがありません とエラーが表示されてしまいます。 htmlディレクトリとhtml_bkディレクトリ内にある ファイルを比較する処理になります。 ======================================== find ./html -name *.html -type f | while read f do echo $f | sed 's/html/html_bk/g' $temp diff $f $temp >> diff.txt done ====================================== $tempの中身はhtml_bkと変更されていました。 原因が分かる方がいましたら教えてください。

  • スクリプトでtxtファイルがブランクかを判別したい

    シェルスクリプトの勉強をしています 比較先の差分のみを抽出するのに以下のコマンドを使用しており、 差分があってもなくてもdiff_file.txtを出力しています。 diff hikaku_moto.txt hikaku_saki.txt | grep -E '^<' | perl -pe 's/^<\s//g' > diff_file.txt 比較をして出力したdiffファイルがブランクであれば次の処理を流す。 ブランクでなければ処理を止めるようなことをしたいのですが、ファイルの中身がブランクかどうかの 判別方法がわからず… テキストファイルの中身がブランクかどうかの判別方法を教えていただけますでしょうか? よろしくお願い致します

  • バイナリファイルのdiff方法について

    お世話になります。 Linuxのdiffコマンドについてご教示頂けないでしょうか? バイナリファイルの差分をヘキサで表示したいのですが、 (具体的な出力結果のイメージとしては以下の(1)~(3)でできるdiff.txt) xargsやパイプ等を利用して標準出力だけで実現できればと 考えております。(1コマンドで…) 宜しくお願い申し上げます。 ■出力イメージ (1)od -x AAA.bin > AAA_od.bin (2)od -x BBB.bin > BBB_od.bin (3)diff AAA_od.bin BBB_od.bin > diff.txt ■トライしてみてうまくいかなかった例 (例1)diff < ( od -x AAA.bin ) <(od -x BBB.bin ) (例2)xargs -t diff od -x AAA.bin od -x BBB.bin (例3)od -x AAA.bin| diff <od -x BBB.bin

  • shell diff の使い方について

    shellで差分をとりたいとおもっているのですが・・・ aaa.txtの中身 ※1 aaaaaa_xxx.c ※2 bbbbbb_yyy.c . . . bbb.txtの中身 ※1 aaaaaa.c ※2 bbbbbb.c . . . aaa.txt、bbb.txtそれぞれに200近くのファイル名のみが入っています。 両方のテキストファイルを読み込み、それぞれの※1と※1、※2と※2というふうに 差分を見ていきたいと思っています。行はすべてバラバラです。 差分を見たい対象になる基準は・・・ 例えば、※1であればaaaaaaの部分が同じなので。 (ディレクトリもそれぞれファイルごとにばらばらです) ついでに差分の行数も出力したいと考えています。 なにか良い方法を教えていただけませんでしょうか? shellでつくりたいと思っています。 どうかよろしくお願いいたします。

  • UNIXのdiffコマンドについて

    UNIXのdiffコマンドは、ファイルを比較するときに同じテキストであっても時々は違っていると出力されるケースがあると聞きましたが、詳しく内容をご存じの方教示願います。(OS[solaris,HP-UX,AIX,Linux]の違いにも関係があるようですが?)

  • shellのコマンド deffの差分の行数を出力する

    diff結果の差分の行数を出力するコマンドを教えてください。 たとえばaaa.txtとbbb.txtのdiff比較をした場合 aaa.txtから見たbbb.txtとの差分の行数 bbb.txtから見たaaa.txtとの差分の行数 よろしくお願いいたします。

  • テキスト比較コマンドのdiffについて

    unixコマンドにdiffというのがありますね。2つのテキストファイルを比較してその違いを出力するというものです。このコマンドの意味がわからないところがあります。 テキストAとBの比較とは、 1 両者が全く同じかどうかを比較するということなのか、 2 テキストAとBに含まれている各行を取り出してどこかに一致する行があるかどうかをチェックするということなのか 3 あるいはそれ以外の意味 どのようなことを意味するのでしょうか。 1だったら、1行付け加わっただけでそれ以降が同じものであったとしても全部検索対象となり出力されます。 2だったら、何をしたことになるのでしょうか。全く同じ内容で行構成を入れ替えたら検索に引っかからないことになります。 私の希望としては1なのですが、そうするとわけがわかなないぐらい多くの出力結果となることが多いはずです。オプションなどで対応するとは思いますが、基本的には何をするコマンドなのでしょうか。 よろしくお願いします。

  • UNIXのコマンド教えて下さい。

    UNIXで、lsの結果をファイルに出力する際、 ls > aaa.txtのようにすると出来ますが、 実行したコマンド "ls -la > aaa.txt" もファイルに出力させたいのですが、どうすれば出来ますか? 知ってる方教えて下さい!

  • shellの文法 deffとdo while ??

    最終目標はaaa.c(aaa.txtの中身)とaaa_x.c(bbb.txt)、bbb.cとbbb_x.cのdiffをとり、差分をtxtファイルに出力したいと思っています。 ファイル名の規則は1パターンのみで、_xの前の部分が同じもの通しがdiffをとる対象になります。 (パスはすべてばらばらです) aaa.txtの中身 ファイルパス/ファイル名 a/b/c/aaa.c aa/bb/cc/bbb.c . . . bbb.txtの中身 ファイルパス/ファイル名 x/y/z/aaa_x.c xx/yy/zz/bbb_x.c . . . 考えている処理は (1)aaa.txtからファイル名を抜き出す(basename ?) →結果を変数(AAA)に代入 (2)抜き出したファイル名に_xを追加(.を_x.に置き換え)した変数(BBB)でbbb.txtを検索 (3)変数AAAとBBBのdiffをとる>>txtファイルに出力する shellをうまくつかいこなせず、すみませんが教えていただければと思います。