Bash 如何使用“粘贴”将一列从文件2追加到文件1
近似 及 但是,在本例中,我希望结果打印到一个文件(file1.txt),而不是标准输出(stdout) Background/我有两个以制表符分隔的文件(都有3列): 所需输出//我想将file2.txt的第二列合并/附加到file1.txt(最终文件有4列): 错误//到目前为止,我已经尝试了以下方法(看起来都是正确的——如上所示),但每个方法都只是打印到标准输出:Bash 如何使用“粘贴”将一列从文件2追加到文件1,bash,paste,cut,Bash,Paste,Cut,近似 及 但是,在本例中,我希望结果打印到一个文件(file1.txt),而不是标准输出(stdout) Background/我有两个以制表符分隔的文件(都有3列): 所需输出//我想将file2.txt的第二列合并/附加到file1.txt(最终文件有4列): 错误//到目前为止,我已经尝试了以下方法(看起来都是正确的——如上所示),但每个方法都只是打印到标准输出: Attempt1: $ paste file1.txt <(cut -f2 file2.txt) Att
Attempt1:
$ paste file1.txt <(cut -f2 file2.txt)
Attempt2:
$ cut -f2 file2.txt | paste file1.txt -
Attempt3:
$ paste file1.txt <(awk '{print $2}' file2.txt)
你知道我如何在不使用“海绵”(即仅使用粘贴、剪切、awk、sed)的情况下实现这一点吗?使用
cut
和paste
这样:
paste file1.txt <(cut -f2 file2.txt) > out_file.txt
将file1.txt粘贴到out\u file.txt
您的错误与磁盘已满有关。删除多余的文件以释放一些空间。啊,感谢您澄清磁盘空间位。奇怪的是,输出似乎使用了大量的存储空间。但是,按原样,此代码只将第二列输出到
out\u file.txt
。我想我需要的是>
而不是单数
。
Attempt1:
$ paste file1.txt <(cut -f2 file2.txt)
Attempt2:
$ cut -f2 file2.txt | paste file1.txt -
Attempt3:
$ paste file1.txt <(awk '{print $2}' file2.txt)
Attempt4:
$ paste file1.txt <(cut -f2 file2.txt) >> file1.txt
Attempt5:
$ cut -f2 file2.txt | paste file1.txt - > file3.txt
paste file1.txt <(cut -f2 file2.txt) > out_file.txt