Как я могу объединить два файла, foo1 и foo2, но также вставить текст после foo1 и перед foo2 с терминала?

Один из способов - сломать трубу. Однако прогрессирующая программа больше не может быть вызвана с помощью fg .

Вы можете сначала отказаться от задания init с помощью команды disown -h JobID | PID после выполнения bg JobID | PID . И тогда вы можете закрыть терминал.

Программа не останавливается. С тех пор он будет больше похож на демона. Однако он не может получить ничего из stdin , и его вывод на stdout и stderr будет игнорироваться.

1
26.06.2017, 13:45
3 ответа

Ваша команда хороша:

cat foo1 - foo2 > foo3

Но вы не должны использовать Ctrl + C для завершения ввода с терминала. Это прерывает всю команду. Используйте Ctrl + D .

3
27.01.2020, 23:18

Этого можно добиться с помощью echoи cat. Следующее должно работать для вас

echo 'Some text in between' | cat foo1 - foo2 > foo3
1
27.01.2020, 23:18

@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
0
27.01.2020, 23:18

Теги

Похожие вопросы