Corrigindo um comando sed para incluir caracteres condicionalmente

2

Como posso melhorar o pwd | sed -e 's/.*\/\(.*\)\/\(.*\)\/\(.*\)/...\/\//' para retornar as reticências somente se pwd for maior que três níveis de profundidade?

O objetivo é evitar ...home/example/foo , mas ainda recebe ...example/foo/bar .

    
por Tohuw 13.06.2012 / 06:43

1 resposta

3
pwd | sed -e 's/\/.*\/\(.*\)\/\(.*\)\/\(.*\)/...\/\//'

Uma dica para a legibilidade é usar outro caractere delimitador regex quando você precisar usar muitas barras:

pwd | sed -e 's#/.*/\(.*\)/\(.*\)/\(.*\)#...//#'
    
por 13.06.2012 / 07:30

Tags