Я передаю файл через bash, как я могу добавить какой-то текст в конец?Добавить текст в файл с конвейером
cat filename.txt | append "text to append" | final_command
EDIT: Это должно быть сделано без создания нового файла
Я передаю файл через bash, как я могу добавить какой-то текст в конец?Добавить текст в файл с конвейером
cat filename.txt | append "text to append" | final_command
EDIT: Это должно быть сделано без создания нового файла
Это следует сделать это:
(cat filename.txt && echo "text to append") | final_command
Если вы не хотите, символ новой строки в конце концов, использовать echo -n
:
(cat filename.txt && echo -n "text to append") | final_command
На мой взгляд, это решение является более кратким:
echo "text to append" | cat filename.txt - | final_command
Он также является более гибким, например, вы можете
echo "text to append" | cat file1.txt - file2.txt ... | final_command
Решение, которое OP выбрал бы неудобно во втором случае.
Пара более альтернативы:
cat filename.txt <(echo "text to append") | final_command
final_command <(cat filename.txt; echo "text to append")
(при условии, final_command
может принимать входной сигнал от аргумента вместо стандартного ввода по умолчанию)
Было бы добавить символ новой строки. –
@ Привет-Ангел, возможно, это то, чего хотел ОП. Во всяком случае, я добавил новую версию ответа. – Roman