gato a.txt
abcdegoogle.com xyzgoogle.com rev a.txt | awk -F. '{print $2,$3}' | revEsto está mostrando:
e google x googlePero quiero esta salida
abcdegoogle bcdegoogle cdegoogle e.google xyzgoogle yzgoogle z.googleGracias de antemano
Con sus muestras mostradas, intente seguir el código awk . Escrito y probado en GNU awk debería funcionar en cualquier awk .
awk ' BEGIN{ FS=OFS="." } { nf=NF for(i=1;i<(nf-1);i++){ print $1="" sub(/^[[:space:]]*\./,"") } } ' Input_fileAquí hay una solución awk más:
awk -F. '{while (!/^[^.]+\.[^.]+$/) {print; sub(/^[^.]+\./, "")}}' file abcdegoogle.com bcdegoogle.com cdegoogle.com degoogle.com e.google.com xyzgoogle.com yzgoogle.com z.google.comUsando sed
$ sed -n '/^/p;:a;s/[az]*\.\(.*[az]\.[az]*\.[az]*\)/\1/p;ta;' input_file abcdegoogle.com bcdegoogle.com cdegoogle.com degoogle.com e.google.com xyzgoogle.com yzgoogle.com z.google.com