Bashでは、2つの異なるCSVのフィールド(file1のフィールド2とfile2のフィールド3)を比較したいと思います。
diff <(cut -d, -f2 file1) <(cut -d, -f3 file2)
私はこれをより一般的にRubyで実装しようとしました:
def identical_files?(file1, field1, file2, field2)
%x{diff <(cut -d, -f#{field1} #{file1}) <(cut -d, -f#{field2} #{file2})}.blank?
end
%x{}
ブロックの出力を印刷すると、が表示されsh: Syntax error: "(" unexpected
ます。Ruby内でシェルコマンドを実行すると、I / Oリダイレクトが機能しませんか?これは、bashでのみサポートされており、shではサポートされていないためですか?