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 FS
Isto 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.
-
1
Esta é uma abreviada enigmática do awk para imprimir o registro.
-
OFS=//
Isto diz ao awk para usar
//
como o separador de campos para output .