Однострочник Perl спешит на помощь:
perl -i -pe'$_="FIRST LINE\n$_"if$.<2;$.=0,$_.="LAST LINE\n"if eof' *.txt
Мне нравится ответ wait
, но в качестве академического упражнения я думаю, что это также сработает:
bash -c 'command1 & command2 & command3 &' && command4
Пожалуйста, поправьте меня, если я ошибаюсь.
#!/bin/bash
command1 &
command2 &
command3 &
wait
command4
wait
(без каких-либо аргументов) будет ждать завершения всех фоновых процессов.
Полное описание wait
в руководстве bash
:
wait [-n] [n ...]
Ожидание каждого указанного дочернего процесса и возврат его прекращение статус. Каждый
n
может быть идентификатором процесса или спецификацией задания; если дана спецификация задания, все процессы в конвейере этого задания ждать кого-либо. Еслиn
не указано, все активные дочерние элементы процессы ожидаются, а статус возврата равен нулю. Если Опция-n
предоставляется,wait
ожидает завершения любого задания и возвращает свой статус выхода. Еслиn
указывает несуществующий процесс или задание, статус возврата — 127. В противном случае статус возврата это статус выхода последнего ожидаемого процесса или задания.