Регулярное выражение Grep для извлечения только субдоменов

На самом деле, ни один из приведенных выше ответов не перехватывает код ошибки и сообщение ssh, что можно сделать следующим образом (игнорировать мои пользовательские переменные и функции):

# move the deployment package from the tmp dir
msg=$(ssh -i "$(eval echo $identity_file)" -o ConnectTimeout=5 "$ssh_user"'@'"$ssh_server" \
sudo -iu "$etl_user" bash "$tgt_deployment_dir"'/src/bash/'"$run_unit/$run_unit"'.sh' \
    -a create-relative-package 2>&1)

# fail on any non-success
export exit_code=$?
export err_msg="network error: ""$msg"
test $exit_code -ne 0 && echo "$err_msg" && exit $exit_code
0
15.10.2020, 20:12
2 ответа

Просто используйте cut.

cut -d '.' -f1-3 file

вывести только первые три поля, используя точку в качестве разделителя.

1
18.03.2021, 22:57

Это находит строки с полями, разделенными ровно 3 точками -:

awk -F'.' 'NF == 3' filename
sub1.site.com
sub3.site.com

Это опускает «sub2» --, вы не указываете, хотите ли вы этого или нет.

0
18.03.2021, 22:57

Теги

Похожие вопросы