私のプログラムは2つの文字列を生成し、それらを外部のdiffツールで比較します。 diffツールはファイル/ディレクトリだけを引数として受け入れます。それはdiff file1 file2
が完全に動作しますが、diff "hello" "world"
は機能しません。テンポラリファイルを作成せずに直接diff
に文字列を渡す方法はありますか?ありがとう。PHPが文字列を外部のdiffコマンドに渡す
答えて
シェルでは、一時的なパイプを使用できます。
diff <(echo "string 1") <(echo "string 2")
backticks演算子または他の方法を使用して、このコマンドをPHPで実行します。コマンドの実行の詳細については、マニュアルを参照してください。http://www.php.net/manual/en/ref.exec.php
文字列を正しくエスケープしてください。
編集:この機能は一時的パイプと呼ばれます。したがって、シェルはファイル記述子に変換します。
[email protected]:~$ echo <(echo "string")
/dev/fd/63
[email protected]:~$ cat <(echo "string")
string
作品! <(echo "string 1")がシェル内のファイルをどのようにシミュレートできるか詳しく説明できますか? – Shawn
AFAIK 2つのSTDINのように、diffコマンドに2つのパイプを接続するだけです。しかし、私はなぜ、どのように正確に動作するのかわかりません。だからこそ私は次の質問をしました:http://stackoverflow.com/questions/9195117/two-pipes-to-one-command – iblue
おそらくこれについて説明しますか? http://www.linuxjournal.com/article/2156?page=0,1 – Shawn
- 1. Plone:外部ファイルから接続文字列をzmysqldaに渡す
- 2. 部分文字列をCに渡す
- 3. diff3にdiffコマンドを渡す方法
- 4. 外部コマンドにPowerShell $ _を渡す
- 5. 文字列PHPをJavascript Spacesに渡す
- 6. 外部diffビューアのMercurial in/outコマンドの結果を表示
- 7. EJSが部分文字列にテキストを渡す
- 8. grepコマンドに空の文字列を渡す
- 9. 変数を外部PHPファイルに渡す
- 10. Androidがphpファイルに文字列を渡す
- 11. AJAXがデータ文字列と画像ファイルをPHPに渡す
- 12. PHP regexp部分文字列の後に文字列を削除する方法
- 13. PHP配列diff
- 14. 部分文字列の範囲外
- 15. PHP - 2文字の間の文字列の一部を選択
- 16. PHPの文字列の内部表現
- 17. PHPの部分文字列の削除
- 18. 引数を持つコマンドをドッカーに渡す文字列として渡す
- 19. メソッド外の文字列に情報を渡すには?
- 20. 文字列内のコマンドをCMD.exeに渡すのが間違っている
- 21. PHP PDO - 動的文字列配列をJavaScriptに渡す
- 22. MVC4の部分ビューに文字列を渡す
- 23. メッセージの部分文字列の部分文字列の部分文字列
- 24. 文字列の一部が文字列の一部をjavascriptの数字にすることができる文字列から文字列を削除する
- 25. 文字がない単語を検出するPHPの部分文字列(substr)
- 26. 正確な部分文字列をPHPの文字列に数える
- 27. Rails 3 - 外部キー - 文字列とシンボル
- 28. Java - Eclipse:外部化文字列?
- 29. 文字列をJavaのwriteObject()に渡す文字列を渡しますか?
- 30. 空の文字列として渡された外部javascriptファイルに属性を渡す
"外部差分ツール" とは何であるを参照してください? – Richard
あなたはdiffのためにどのようなプログラムを使用していますか? (詳細はどうぞ) – bizzr3
linux diffツール。単純に$> diff – Shawn