Tack uma avaliação de curto-circuito após grep
:
grep -q 'search_pattern' /file && : >/newfile
-
grep -q
não produz saída no STDOUT, apenas sai com o status de saída0
se o padrão for encontrado no arquivo -
Se o padrão for encontrado (
&&
), crie um arquivo/newfile
by: >/newfile
.
Você também pode usar a abordagem usual touch /newfile
ou, em bash
, um redirecionamento vazio - >/newfile
também.
Apenas para observar, se o arquivo já existir, então touch
alteraria apenas os registros de data e hora relevantes sem truncar o arquivo. E o redirecionamento vazio >/newfile
não é suportado em todas as shells on-the-go (por exemplo, em zsh
), onde você precisa enviar manualmente o EOF.