
複数のファイルを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と変更されていました。
原因が分かる方がいましたら教えてください。
No.2ベストアンサー
- 回答日時:
> htmlディレクトリとhtml_bkディレクトリ内にある
> ファイルを比較する処理になります
diff -r html html_bk
で一発なんですけど....
このシェルスクリプトを完成させるなら
# -nameで*を使いたいときは""で括る
find ./html -name "*.html" -type f |
while read f
do
# 実行結果を変数に取り込むならバッククオートを使う
# 先頭が必ず ./html/ になるから、htmlを置き換えればいいのだけど、
# より正確にするなら、こんな感じ
temp=`echo $f | sed 's|^\./html/|./html_bk/|'`
# ファイル名の空白が含まれることも考慮して、""で括る
diff "$f" "$temp" >> diff.txt
done
kmeeさん、返答ありがとうございます。
教えて頂いたとおりに書いたら動きました。
それに、-rオプションという便利なものがあったんですね。
丁寧に教えてもらったおかげで注意する点や勉強不足がはっきりと
分かりました。
ありがとうございました。
No.1
- 回答日時:
いろいろ問題あるなぁ....
・「$tempの中身はhtml_bkと変更されていました。」と書かれていますが, temp を変更している部分が見当たりません. 「更新されていた」というのはどのように確かめたのですか?
・*.html はクォートしないとまずい
・sed で置換する時になぜ g をつけている?
・そもそもこれはシェルスクリプトであってシェルではない
この回答への補足
Tacosanさん返答ありがとうございます。
変更内容は、echo $tempで画面に出力させて確認したのですが
確認の方法が間違っていましたでしょうか?
htmlのクウォーとsedのgに関しては、記述が間違っておりました。
原因が分からなかったので、いろいろ試していた際に間違った記述をコピーしてしまいました。
シェルについては、痛いご指摘です。
何せほとんど書いたことがありませんので良くわかっておりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ゲームプログラマーになるため...
-
ポリカに漆(うるし)を塗る
-
IEを操作し、前のページへ戻る方法
-
javaでhtmlファイルを開く方法
-
見れる方・・
-
Excelについて質問です。 https...
-
htaccessのリダイレクトで、特...
-
Excel VBA :URLの中で変数を使...
-
ハッスルサーバーでwordpress ...
-
lang 英語と日本語など混ざる時は
-
日本語ファイル名を持つURLの30...
-
HTMLからフォルダを開きたい
-
Excelで、社外秘(閲覧のみ)と...
-
ソースの追加行数と変更行数
-
iPadの標準ブラウザでローカルH...
-
リンク先からリンク元の、同じ...
-
テキストエディタvscodeでプロ...
-
どのページもすべて同じURLなの...
-
htmlファイルの表示が真っ白
-
絶対パスのルートをサブディレ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクオスケータイ4、アクオス...
-
アクオスケータイ4、アクオス...
-
iframeの中のページのリンクを...
-
javaでhtmlファイルを開く方法
-
ベーシック認証時、キャンセル...
-
メール本文に変な文字が
-
Excel VBA :URLの中で変数を使...
-
IEを操作し、前のページへ戻る方法
-
lang 英語と日本語など混ざる時は
-
JSPでincludeファイルの日本語...
-
拡張子「.stm」について
-
相対パスから絶対パスの取得
-
フォルダの中の特定のファイル...
-
中埜酢店 のよみかた
-
とりあえずこのカテゴリーで・...
-
ホームページの検索エンジン登録
-
FireFoxのNoScriptお使いの方へ...
-
YahooBBで自宅サーバー
-
風船のようなもの
-
複数のファイルをdiffで比較す...
おすすめ情報