You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用paste命令合并文件并保存至其中一个被合并文件?

正确使用paste合并分号分隔表格并更新目标文件

问题根源分析

  1. 分隔符参数语法错误:你之前的命令paste -d"";"" Grades_HW1 Grades > Grades里,-d的参数写法错误。分号是Shell的命令分隔符,必须用引号包裹成-d";",或者用反斜杠转义成-d\;,否则Shell会把分号当成命令结束符,导致命令执行异常。
  2. 直接覆盖目标文件的风险:当你把输出直接重定向到Grades(同时作为输入文件)时,Shell会先清空Grades文件再执行paste命令,这就导致paste读取的Grades已经是空文件,最终结果自然只剩Grades_HW1的内容。

正确操作步骤

要实现按列合并两个文件(把Grades_HW1的内容作为新列追加到Grades的每一行后面,用分号分隔),并安全更新目标文件,需要借助临时文件过渡:

  1. 执行正确的paste命令,将合并结果输出到临时文件:
paste -d";" Grades Grades_HW1 > Grades.tmp

注意:如果要把Grades_HW1的内容放在原有列的前面,就交换两个输入文件的顺序:paste -d";" Grades_HW1 Grades > Grades.tmp

  1. 用临时文件替换原目标文件:
mv Grades.tmp Grades

额外说明

  • 不要用>>追加,因为>>是按行追加内容到文件末尾,而paste的作用是按列合并文件的对应行,二者是完全不同的操作,用>>根本达不到你要的列合并效果。

内容的提问来源于stack exchange,提问作者wchen4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 00:01:17