【问题标题】:Cut column from some file 1, paste to a file 2 and write result to file 2 [duplicate]从某个文件 1 中剪切列,粘贴到文件 2 并将结果写入文件 2 [重复]
【发布时间】:2015-01-01 09:54:45
【问题描述】:

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

粘贴 g3temp.csv > g3temp.csv

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

粘贴 g3new.csv

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

【问题讨论】:

    标签: linux bash csv


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 非常感谢!解决了我的问题!
    猜你喜欢
    • 2020-12-07
    • 1970-01-01
    • 2017-10-14
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多