Estou tentando extrair alguns links do texto que baixei da internet usando o grep, mas continuo recebendo "Aborted (core dumped)". Ao usar o grep, costumo usar -P
, pois prefiro usar a sintaxe perl (e gosto de evitar a ganância usando ?
). O próprio grep não tem problemas em aplicar um padrão ao arquivo sem -P
.
Agora, sou relativamente novo na linha de comando (e estou adorando!), então não posso resolver como resolver isso.
Observe que esse problema ocorre com quase qualquer padrão. Exemplo: grep '\.jpg' file.txt -oP
Gostaria de executar: grep '.+?\.jpg' file.txt -oP
Atualização: parece que a raiz do problema é de fato essa parte do "código":
<script type="text/javascript">
/***********************************************
* Bookmark site script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
/* Modified to support Opera */
function bookmarksite(title,url){
if (window.sidebar) // firefox
window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
var elem = document.createElement('a');
elem.setAttribute('href',url);
elem.setAttribute('title',title);
elem.setAttribute('rel','sidebar');
elem.click();
}
else if(document.all)// ie
window.external.AddFavorite(url, title);
}
</script>
source: link
Eu assumi primeiro que o "*" estava causando problemas. O teste indica que o símbolo de direitos autorais era de fato o problema. É possível que isso seja um problema com diferentes codificações? Mesmo copiar e colar em um novo documento causa os mesmos problemas.
Meu ambiente é: "Cygwin, Windows 8.1 64bit"
Saída de local:
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=
Versão do Grep:
$ grep --version
grep (GNU grep) 2.14.56-1e3d
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.