Вы можете попробовать мой глупый сценарий предположения:
$./debdatez
['19 July 2002',
'6 June 2005',
'8 April 2007',
'15 February 2009',
'6 February 2011',
'4 May 2013',
'6 July 2015',
'22 June 2017']
average time to release Debian: 67293257.1429s
...or: 2 years, 2 months, 18 days
so next release is definitely on 09 August 2019
$
В случае, если это не очевидно, не стоит преувеличивать. :Он просто вычисляет среднее время между выпусками и делает "прогноз" на его основе. Тем не менее, достаточно хорошо, чтобы посмотреть, когда начать проявлять любопытство.
Использование цикла чтения while просто выводит результат на стандартный вывод, а не редактирует файл в месте -.
Содержимое файла source.txt
shivps 111111 22222 33333333 Iam_from_source.txt
Iam_from_source-source-source
kaspsa 222222 11111 44444444 Iam_from_source.txt
Iam_from_source-source-source
Содержимое файла destination.txt
shivps 256146 54645 46561431 Iam_from_destination.txt
Iam_from_destination-destination
kaspsa 212142 21244 21144664 Iam_from_destination.txt
Iam_from_destination-destination
Сценарий.
#!/usr/bin/env bash
source=$1
destination=$2
while IFS= read -r lines_from_source <&3; do
IFS= read -r lines_from_destination
if [[ ${lines_from_source%% *} == ${lines_from_destination%% *} ]]; then
printf '%s\n' "${lines_from_source//$lines_from_destination}"
else
printf '%s\n' "$lines_from_destination"
fi
done 3<"$source" < "$destination"
Запустить сценарий.
./script source.txt destination.txt
Выход
shivps 111111 22222 33333333 Iam_from_source.txt
Iam_from_destination-destination
kaspsa 222222 11111 44444444 Iam_from_source.txt
Iam_from_destination-destination