Usando python
:
#!/usr/bin/env python2
import re, sys
with open(sys.argv[1]) as f:
for line in f:
parts = line.split()
for i in parts:
if re.search(r'^[("].*[)"]$', i):
print i,
print '\n'.lstrip()
Saída:
"foo" (bar) (19)
"foo"
-
Cada linha é lida e as partes separadas por espaços são salvas em uma lista chamada
parts
-
Em seguida, usando a função
re
do módulosearch
, encontramos as partes que começam com"
ou(
e terminam com"
ou)
.
Como executar:
Salve o script como, por exemplo, %código%. Agora você pode executá-lo de duas maneiras:
-
Torne-o executável por
script.py
e execute-o comochmod u+x /path/to/script.py
, ou seja, insira o arquivo/path/to/script.py /path/to/file.txt
como o primeiro argumento. Se o script e o arquivo estiverem no mesmo diretório, então a partir desse diretóriofile.txt
-
Você pode executá-lo sem torná-lo executável, executá-lo como
./script.py file.txt
.
Responda à pergunta editada:
#!/usr/bin/env python2
import re, sys
with open(sys.argv[1]) as f:
for line in f:
print ''.join(re.findall(r'(?:(?<=\s)["(].*[")](?=\s|$)|(?<=^)["(].*[")](?=\s|$))', line))
Saída:
"foo foo" (bar bar) (19)
"foo foo"