Para obter as duas primeiras strings com as strings correspondentes:
$ s=hdfs://ussbssn01.us.xyz.com//data/ip/list/usa/
$ echo "$s" | awk -F// '{print $1 FS $2 FS}'
hdfs://ussbssn01.us.xyz.com//
Como funciona:
-
-F//Isso diz ao awk para usar
//como o separador de campo. -
print $1 FS $2 FSIsto diz ao awk para imprimir o primeiro campo, um separador de campos, o segundo campo e outro separador de campos.
Alternativa
Para obter tudo até e incluindo as últimas sequências de correspondência:
$ echo "$s" | awk -F// '{$NF=""} 1' OFS=//
hdfs://ussbssn01.us.xyz.com//
Como funciona:
-
-F//Isso diz ao awk para usar
//como o separador de campo para entrada . -
$NF=""Isto diz ao awk para substituir o último campo pela string vazia.
-
1Esta é uma abreviada enigmática do awk para imprimir o registro.
-
OFS=//Isto diz ao awk para usar
//como o separador de campos para output .