结合猫尾

时间:2013-12-10 16:34:03

标签: ubuntu cat tail

我正在尝试将cat和tail命令结合起来:

像这样:

我有文件名“text1”,想要合并到文件名“text2”。 但首先我要在文件text1中删除7行,然后才合并到文件“text2”

     tail --lines=+7 text1 | cat  text2 > out_put 

这在Ubuntu 12.04上对我不起作用

3 个答案:

答案 0 :(得分:6)

{ tail --lines=+7 text1; cat text2; } > out_put 

tail --lines=+7 text1 | cat - text2 > out_put 

传递-告诉cat首先从stdin读取,然后从text2读取。

答案 1 :(得分:2)

分两步/命令执行:

tail --lines=+7 text1 > output
cat text2 >> output

或者甚至像这样,如果第一次成功,它将执行第二次:

tail --lines=+7 text1 > output && cat text2 >> output

请注意,我们使用>>将数据附加到文件中,因此在文件中存在的先前数据之后将添加。使用>,我们只删除之前的所有内容。

答案 2 :(得分:0)

另一种方法是使用" here-string" (在man bash中描述):

cat - <<< "$(tail --lines=+3 text1)" text2 > out_put