基本的に同じファイルの前後の違いを確認したいと思います。sed
以下を実行してみてください。
diff /opt/postTrades.sh <<< $(sed 's/1\ MIN/10\ MIN/g' /opt/postTrades.sh)
そして
diff <<< $(sed 's/1\ MIN/10\ MIN/g' /opt/postTrades.sh) < /opt/postTrades.sh
そして
diff <<< (sed 's/1\ MIN/10\ MIN/g' /opt/postTrades.sh) < /opt/postTrades.sh
常に得ます:
diff: missing operand after '/opt/postTrades.sh'
diff: Try 'diff --help' for more information.
正しいアプローチは何ですか?ありがとうございます。
ベストアンサー1
diff
2つのファイルオペランドが必要です。 here-stringを使用すると、入力をdiff
標準入力に渡すことができます。
diff
標準入力から読み取るには、-
次のファイル名を使用します。
$ diff file - <<<"$( sed 'expression' file )"
またはもっと持ち運びが良く、
$ sed 'expression' file | diff file -
使用中のシェルが<(...)
、およびなどを使用してbash
プロセス置換をサポートしている場合、ksh93
これは別の解決策かもしれません。
$ diff file <( sed 'expression' file )
プロセス置換はファイルとして表示され、diff
実際には「同じ」です。
$ sed 'expression' file >tempfile
$ diff file tempfile
$ rm tempfile