entradas:
line1 with the PATTERN that contains ( )
line2 with the PATTERN that contains ( )
lineN with the PATTERN that contains ( )
saídas:
line1 with the PATTERN that contains ( ) ;
line2 with the PATTERN that contains ( ) ;
...
lineN with the PATTERN that contains ( ) ;
Eu tentei isso:
find . -name "test.txt" -print | xargs sed -i "/PATTERN/ s/$)/); /g"
mas não funcionou.
shell
sed
line-editor
user3342338
fonte
fonte
-exec ... +
vez de-exec ... \;
, se sua descoberta permitir.Supondo que
PATTERN
seja realmente( )
e que algo possa estar entre o( )
e que eles não estejam necessariamente no final da linha:fonte
Usando
ex
(que é equivalente avi -e
/vim -e
).Um arquivo:
Todos os
test.txt
arquivos recursivamente:Nota: Certifique-se de que a opção globbing (
**
) esteja ativada por:shopt -s globstar
se seu shell a suportar.Nota: O
:bufdo
comando não é POSIX .fonte
Tentar:
fonte