Noté que no abrí el puerto 443 en Amazon AWS. Después de abrir el puerto, funciona. esta configuración funciona conmigo.
awk 'NR==1 && NF==4 { var=$2 $3 $4 } NR==1 && NF!=4 { var=$2 }' /path/to/input
Вы можете
awk '{$1=""; print (NF==4)?$0:$2; exit}' OFS= infile
Тернарный оператор условия (NF==4)?$0:$2
проверяет, было ли N число F полей равным 4 (, когда поля разделены пробелами(awk по умолчанию FS )), затем напечатайте всю строку $0
после того, как мы разделим первое поле $1=""
, иначе :
напечатайте файл #2 $2
.
awk 'NF == 4 { print $2 $3 $4; exit } { print $2; exit }' file
Это объединяет второе, третье и четвертое поля, если в первой строке файла имеется ровно четыре поля, -разделенные пробелами. В противном случае будет возвращено второе поле из первой строки файла. Программа завершает работу, как только она что-либо выводит, поэтому мы уверены, что это только первая строка, которую мы когда-либо увидим.
С другой логикой:
awk 'NF == 4 { out = $2 $3 $4 } NF != 4 { out = $2 } { print out; exit }' file
или,
awk '{ out = $2 } NF == 4 { out = out $3 $4 } { print out; exit }' file
Любая из этих команд входит в вашу подстановку команд:
var=$( awk... )