2015-06-24 1 views

ответ

4

Это следует сделать это:

(cat filename.txt && echo "text to append") | final_command 

Если вы не хотите, символ новой строки в конце концов, использовать echo -n :

(cat filename.txt && echo -n "text to append") | final_command 
+0

Было бы добавить символ новой строки. –

+1

@ Привет-Ангел, возможно, это то, чего хотел ОП. Во всяком случае, я добавил новую версию ответа. – Roman

0

На мой взгляд, это решение является более кратким:

echo "text to append" | cat filename.txt - | final_command 

Он также является более гибким, например, вы можете

echo "text to append" | cat file1.txt - file2.txt ... | final_command 

Решение, которое OP выбрал бы неудобно во втором случае.

1

Пара более альтернативы:

cat filename.txt <(echo "text to append") | final_command 

final_command <(cat filename.txt; echo "text to append") 

(при условии, final_command может принимать входной сигнал от аргумента вместо стандартного ввода по умолчанию)

Смежные вопросы