Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

combining cat and tail

Tags:

tail

ubuntu

cat

I am trying to combine cat and tail commands:

Like this:

I have file name "text1" and want to combine to file name "text2". But first I wanted to remove 7 lines from file text1 before I combine to file "text2"

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

This does not work for me on Ubuntu 12.04

like image 805
Yacob Avatar asked Dec 10 '13 16:12

Yacob


2 Answers

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

or

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

Passing - tells cat to read from stdin first, then from text2.

like image 73
John Kugelman Avatar answered Sep 21 '22 00:09

John Kugelman


Do it in two steps/commands:

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

Or even like this, that will perform the second if the first was successful:

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

Note that we use >> to append data to the file, so it will be added after the previous data existing in the file. With > we just delete everything that was there before.

like image 27
fedorqui 'SO stop harming' Avatar answered Sep 25 '22 00:09

fedorqui 'SO stop harming'