从某个文件1中剪切列,粘贴到文件2并将结果写入文件2

时间:2014-11-05 09:12:45

标签: linux bash csv

我在循环中生成了一个临时文件o2.csv。我想剪切它的第二列并将其粘贴到另一个文件g3temp.csv。

paste<(cut -f 2 o2.csv) g3temp.csv> g3temp.csv

如果对某个新文件进行写入,则此命令会生成正确的输出:

paste<(cut -f 2 o2.csv)g3temp.csv> g3new.csv

为什么对同一文件的写入没有给出正确的结果?

1 个答案:

答案 0 :(得分:2)

这在shell中是不可能的。运行该命令时,>会立即截断该文件。

最简单的方法是使用临时文件:

paste <(cut -f 2 o2.csv) g3temp.csv > tmp && mv tmp g3temp.csv

使用&&表达式,我们确保第二个命令将在前者成功完成时执行。