Se o usuário inserir os detalhes dos funcionários como string e quisermos que a saída exiba os funcionários com os três principais anos de experiência na mesma ordem de detalhes do funcionário que aparecem na string de entrada. Por exemplo, string de entrada:
"EMP101:Jack:CA:[email protected]:10#EMP102:Jill:Doctor:[email protected]:5#EMP103:Russell:Engineer:[email protected]:25#EMP104:Monica:Teacher:[email protected]:4#EMP105:John:Mangaer:[email protected]:8"
Cadeia de saída: Por exemplo, cadeia de entrada:
"Jack:CA:10#Russell:Engineer:25#John:Mangaer:8"
alguém poderia me dizer como conseguir isso em shellscript
Você pode usar uma combinação de
awk
, e :sort
head
paste
Resultado:
RS
é "Record Separator", o padrão é nova linha, mas seus registros são separados por#
FS
é "Field Separator", que é:
para seus dados.#
asRS
, o último campo do seu último registro incluirá um qutoe duplo e uma nova linha no final com o qual removeremosgsub
.| sed 's/.*/"\0"/'
para obter exatamente sua saída, incluindo as cotações.Resultado:
Ordenado novamente pelo primeiro campo.