2011-09-19 5 views
0

Sed : 발견 된 문자열을 변수로 사용

models[variable][index] 

여기서 변수는 문자와 숫자의 거의 모든 조합이 될 수 있으며 [0- 9a-Z] {4,12}. 텍스트에는 그러한 변수가 수백 가지 있습니다. 정확한 문자열의 형태를 알 필요가있다. 문자열을 "기억"하고 나중에 사용하는 방법이 있습니까? 또는이 경우 도움이 될 수있는 다른 방법/소프트웨어?

미리 감사드립니다.

도중에 "변수"를 대문자로 변환 할 수 있다면 멋질 것입니다.

답변

3

\(...\)에 입력 할 경우 패턴의 항목을 사용하여 바꿀 수 있습니다. 그런 다음 \1을 사용하여 첫 번째 대괄호로 캡처 한 것을 삽입합니다.

문제에 대한 순진한 해결책이 될 것이다 :

sed 's/model->\(.*\)/models[\1][index]/' file.txt 
관련 문제