ファイル1:
123
234
345
456
ファイル2:
123
234
343
758
期待される出力:ファイル3:
TRUE
TRUE
FALSE
FALSE
したがって、コードは2つのファイルを比較して一致する場合は「TRUE」を印刷し、そうでない場合は新しいファイルに「FALSE」を印刷する必要があります。誰でもこれに解決策を提供できますか?
ベストアンサー1
または、他のサポートされているシェルでdiff
次のコマンドを使用します。bash
<(...)
プロセスの交換または次のように真似できます。:
diff --new-line-format='FALSE'$'\n' \
--old-line-format='' \
--unchanged-line-format='TRUE'$'\n' \
<(nl file1) <(nl file2)
出力は次のとおりです。
TRUE
TRUE
FALSE
FALSE
--new-line-format='FALSE'$'\n'
、印刷FALSE
行が異なり、--old-line-format=''
file1 の行が異なる場合、出力を無効にする場合はそれを呼び出します。古いファイルをdiffコマンドに切り替えることもできます。つまり、1つは印刷しFALSE
、もう1つは無効にする必要があることを意味します。
--unchanged-line-format='TRUE'$'\n'
、印刷TRUE
行が同じ場合。 C$'\n'
スタイルのエスケープ構文は、各出力行の後に新しい行を印刷するために使用されます。