이를 위해 bash는 스크립트를 사용하지 마십시오 나는 이런 식으로 뭔가를 초래합니다.
코드가 약간 개선 될 여지가 많습니다.
하지만 20 줄에서 그 일을합니다.
참고 : 코드는 "abc xyz"가 줄의 시작 부분에 있다고 가정합니다. 자신의 방대한 지식을 공유하기위한 David Beazley, A.M. Kuchling 및 Mark Pilgrim에
#!/usr/bin/python
import os
import re
MYDIR = '/dir/you/want/to/search'
def search_file(fn):
myregex = re.compile(r'abc xyz = \"([a-z]+)\"')
f = open(fn, 'r')
for line in f:
m = myregex.match(line)
if m:
yield m.group(1)
for filename in os.listdir(MYDIR):
if os.path.isfile(os.path.join(MYDIR, filename)):
matches = search_file(os.path.join(MYDIR, filename))
for match in matches:
print filename + ':' + match,
감사합니다.
길을 선도하는 사람들 없이는 이런 식으로 할 수 없었습니다.
@abbot : 답변이 훨씬 좋습니다. 내 작품에서는 스크립트를 재사용하고 확장하는 경향이 있습니다. 그래서 파이썬은 이상적입니다. 그러나 이것은 일회성 과제로 보인다. 간결한 단 하나 강선에 명성. 내 대답을 삭제해야한다고 생각한다면 알려주십시오. – bernie
삭제할 필요가 없습니다. 그러나 파이썬 버전은 훨씬 더 컴팩트하게 만들어 질 수 있습니다. http://gist.github.com/126323 – abbot
꽤 많은 압축 비율이 있습니다! 그 보석을 공유해 주셔서 감사합니다. – bernie