Вы можете сделать что-то вроде:
awk '{print}
$0 == "<dict>" && previous == "<key>servers</key>" {
system("cat other-file.xml")
}
{previous = $0}'
, который будет зависеть от того, как содержимое расположено в этом файле, однако вы просто должны отслеживать, открыл ли вы этот файл в сценарии.
# Example where the first time opening, line 1 is printed, and subsequent times
# line 2 is printed
file_opened=0
# ... code
if [ $file_opened -eq 0 ]; then
# code for first time opening, e.g.:
head -1 the_file.txt # Prints line 1
file_opened=1
else
# code for subsequent times, e.g.:
sed -n '2{p;q}' the_file.txt # Prints line 2
fi
Вы можете использовать $ случайным
переменную переменную в виде скриптов Bash, чтобы получить что-то другое, которое вы его называете. Он возвращает целые числа (0-32767), но вы могли бы проверить, есть ли номера даже или странные, а затем сделать это в да или нет.
$ echo $RANDOM
2104
$ echo $RANDOM
25188
$ if (( RANDOM % 2 )); then echo even; else echo odd; fi
even
$ if (( RANDOM % 2 )); then echo even; else echo odd; fi
even
$ if (( RANDOM % 2 )); then echo even; else echo odd; fi
odd
Вышеупомянутое использование оператора по модулю, чтобы разделить в настоящее время $ Случайный
, на 2. Если $ случайно
даже, то мы эхо Сообщение, «Даже», в противном случае мы откроем «странно».
Это может быть адаптировано к опции «Да» или «Нет», которую вы можете использовать в вашем скрипте.