'man bash | grep ulimit 'não retorna nada

0

Eu sei que o comando interno ulimit está listado na página bash man.

Grepping não retorna nada. Por quê?

grep e man funcionam bem, man bash | grep strings retorna várias linhas correspondentes.

Suspeito que tenha algo a ver com texto em negrito ou algo semelhante, mas não consigo encontrar a resposta. A variável de ambiente LANG=en_US.UTF-8 .

(Eu estou tentando isso no mais recente Mac OS X Snow Leopard , com Terminal.app , se isso é importante. Meu shell interativo é zsh .)

EDIT: GNU grep 2.5.1, man 1.6c.

    
por Chris Poole 28.06.2011 / 13:50

2 respostas

2

Eu não tenho seu ambiente, então não posso testar. Como solução alternativa, você pode canalizar a saída para um arquivo e fazer o grep através disso

man bash | col -bx > /tmp/bash.man
grep ulimit /tmp/bash.man
    
por 28.06.2011 / 13:59
2

Eu não tenho um Mac, mas no Ubuntu, a página de manual é mostrada através do programa less .

Para pesquisar em uma página de manual, pressione / seguido pelo termo de pesquisa ( ulimit ). Em um bash shell, você pode executar help ulimit para obter ajuda sobre ulimit .

Não sei por que o seu grep não filtra ulimit out. ulimit é negrito na página de manual, talvez isso tenha algo a ver com isso. Certas sequências de escape estão ocultas, mas têm um efeito: alteram a cor (de fundo) ou alteram a aparência (sublinhada, negrito).

Do meu bash (versão 4.2.8):

ulimit: ulimit [-SHacdefilmnpqrstuvx] [limit]
  Modify shell resource limits.

  Provides control over the resources available to the shell and processes
  it creates, on systems that allow such control.

  Options:
    -S        use the 'soft' resource limit
    -H        use the 'hard' resource limit
    -a        all current limits are reported
    -b        the socket buffer size
    -c        the maximum size of core files created
    -d        the maximum size of a process's data segment
    -e        the maximum scheduling priority ('nice')
    -f        the maximum size of files written by the shell and its children
    -i        the maximum number of pending signals
    -l        the maximum size a process may lock into memory
    -m        the maximum resident set size
    -n        the maximum number of open file descriptors
    -p        the pipe buffer size
    -q        the maximum number of bytes in POSIX message queues
    -r        the maximum real-time scheduling priority
    -s        the maximum stack size
    -t        the maximum amount of cpu time in seconds
    -u        the maximum number of user processes
    -v        the size of virtual memory
    -x        the maximum number of file locks

  If LIMIT is given, it is the new value of the specified resource; the
  special LIMIT values 'soft', 'hard', and 'unlimited' stand for the
  current soft limit, the current hard limit, and no limit, respectively.
  Otherwise, the current value of the specified resource is printed.  If
  no option is given, then -f is assumed.

  Values are in 1024-byte increments, except for -t, which is in seconds,
  -p, which is in increments of 512 bytes, and -u, which is an unscaled
  number of processes.

  Exit Status:
  Returns success unless an invalid option is supplied or an error occurs.
    
por 28.06.2011 / 14:20

Tags