在 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 中运行 shell 命令时,I/O 重定向是否不起作用?这是因为它只支持 bash 而不是 sh?