La sintaxis de configuración de Netplan es YAML, y la configuración dhcp4
toma un valor booleano.
Segúnhttp://yaml.org/type/bool.htmllos valores aceptables son y
/ n
, yes
/ no
, true
/ false
y on
/ off
, escritos en minúsculas, con Capital Inicial, o TODO EN MAYÚSCULAS.
Así que todas las formas que enumeraste son correctas.
La forma canónica ("la más correcta" si se debe hacer una distinción )sería menor -caso y
/ n
.
Sin embargo, la definición dice:
A Boolean represents a true/false value. Booleans are formatted as English words (“true”/“false”, “yes”/“no” or “on”/“off”) for readability and may be abbreviated as a single character “y”/“n” or “Y”/“N”.
Entonces puede usar cualquiera de esos formularios, el que le resulte más fácil de leer.
Вы почти у цели. Цикл чтения должен нормально работать в этой ситуации, поэтому что-то вроде этого:
while read -r line; do
id1=$(echo "$line" | cut -d ' ' -f 1)
id2=$(echo "$line" | cut -d ' ' -f 2)
grep -w "${id1}.*${id2}" "$F2"
done < "$F1"
Но это также потенциально может возвращать ложные срабатывания, если идентификаторы, которые вы ищете, присутствуют где-либо в других полях данных. Если вы можете гарантировать, что поля идентификатора в F2 всегда отображаются в столбцах 1 и 5, я бы рекомендовал также проверить положение поля. Это можно сделать довольно быстро, набрав awk
вместо строки grep
:
awk -v id1="$id1" -v id2="$id2" '$1 == id1 && $5 == id2 {print $0}' "$F2"
Это примерно говорит: «Для каждой строки в F2, если столбец 1 имеет id1, а столбец 5 — id2, вывести всю строку».
Отказ от ответственности, я не проверял это.