![如何连接两个文件 foo1 和 foo2,同时从终端在 foo1 之后和 foo2 之前插入一些文本?](https://linux22.com/image/114182/%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5%E4%B8%A4%E4%B8%AA%E6%96%87%E4%BB%B6%20foo1%20%E5%92%8C%20foo2%EF%BC%8C%E5%90%8C%E6%97%B6%E4%BB%8E%E7%BB%88%E7%AB%AF%E5%9C%A8%20foo1%20%E4%B9%8B%E5%90%8E%E5%92%8C%20foo2%20%E4%B9%8B%E5%89%8D%E6%8F%92%E5%85%A5%E4%B8%80%E4%BA%9B%E6%96%87%E6%9C%AC%EF%BC%9F.png)
我想做类似的事情
cat foo1 foo2 | How can I enter sometext from terminal | > foo3
其中包含其后foo3
的内容foo1
sometext
,随后是 的内容foo2
。
到目前为止我最好的尝试是
cat foo1 - foo2 > foo3
但我没有看到foo2
in的数据foo3
。
答案1
你的命令很好:
cat foo1 - foo2 > foo3
但您不应该使用Ctrl+C来终止终端的输入。这会中断整个命令。使用Ctrl+ D。
答案2
您可以使用echo
和来实现此目的cat
。以下应该适合你
echo 'Some text in between' | cat foo1 - foo2 > foo3
答案3
@Chetna C 可能有您正在寻找的答案。但这是另一个在 bash 中工作的:
user@hostname ~/test
bash$ echo charlie > foo1
user@hostname ~/test
bash$ echo dennis > foo2
user@hostname ~/test
bash$ cat foo1 <(echo "mac") foo2 > foo3
user@hostname ~/test
bash$ cat foo3
charlie
mac
dennis