1
我在循環中生成臨時文件o2.csv。我想剪下它的第二列並將其粘貼到另一個文件g3temp.csv。從某個文件中剪切列1,粘貼到文件2並將結果寫入文件2
膏<(切-f 2 o2.csv)g3temp.csv> g3temp.csv
此命令生成如果寫入到一些新的文件進行正確的輸出:
膏<( cut -f 2 o2.csv)g3temp.csv>g3new.csv
爲什麼寫入同一個文件時沒有給出正確的結果?
我在循環中生成臨時文件o2.csv。我想剪下它的第二列並將其粘貼到另一個文件g3temp.csv。從某個文件中剪切列1,粘貼到文件2並將結果寫入文件2
膏<(切-f 2 o2.csv)g3temp.csv> g3temp.csv
此命令生成如果寫入到一些新的文件進行正確的輸出:
膏<( cut -f 2 o2.csv)g3temp.csv>g3new.csv
爲什麼寫入同一個文件時沒有給出正確的結果?
這在shell中是不可能的。運行該命令時,>
會導致文件立即被截斷。
做你想要什麼,最簡單的方法是使用一個臨時文件:
paste <(cut -f 2 o2.csv) g3temp.csv > tmp && mv tmp g3temp.csv
隨着&&
表達我們確保公正,如果前者成功完成第二個命令將被執行。
非常感謝!解決了我的問題! – 2014-11-05 13:06:16