Por que a chamada direta é egrep ou fgrep reprovada?

4

De acordo com a página de manual do grep-Programs ,

In addition, two variant programs egrep and fgrep are available. egrep is the same as ‘grep -E’. fgrep is the same as ‘grep -F’.

Direct invocation as either egrep or fgrep is deprecated, but is provided to allow historical applications that rely on them to run unmodified.

Por que eles estão obsoletos?

    
por xiang 02.08.2017 / 15:52

1 resposta

10

Eles foram removidos do POSIX , com os seguintes rationale :

This grep has been enhanced in an upwards-compatible way to provide the exact functionality of the historical egrep and fgrep commands as well. It was the clear intention of the standard developers to consolidate the three greps into a single command.

The old egrep and fgrep commands are likely to be supported for many years to come as implementation extensions, allowing historical applications to operate unmodified.

Portanto, egrep e fgrep são basicamente artefatos temporários no caminho para um grep completo, que já está disponível há muito tempo; eles serviram ao seu propósito e não são mais necessários, daí a sua depreciação.

Outras evidências para isso podem ser encontradas em versões antigas do Unix: egrep e fgrep não tinham páginas de trabalho separadas, elas foram documentadas no grep manpage , que declara explicitamente

Ideally there should be only one grep, but we don't know a single algorithm that spans a wide enough range of space-time tradeoffs.

    
por 02.08.2017 / 16:02

Tags