2013-07-23 3 views
-1

unix.i에 도움이 필요합니다. 파일에 값이 선언되어 있고 호출 할 때 값을 바꿔야합니다. 예를 들어 나는 & abc와 & ccc 값을 가지고있다. 이제 출력 파일에 표시된대로 & abc 및 & ccc 값을 대체해야합니다.패턴을 찾고 유닉스를 사용하여 파일 내부 패턴 바꾸기

입력 파일은

go to &abc=ddd; if file found &ccc=10; no the value name is &abc; and the age is &ccc;

출력 :

go to &abc=ddd; if file found &ccc=10; now the value name is ddd; and the age is 10;

+0

질문이 포함되는 경우는'ddd' 사전, 당신이 어휘 분석을 수행하고 분석해야하는 경우보다 훨씬 간단합니다 도메인 특정 언어 인 것 같습니다. 당신의 질문이 무엇이고 지금까지 무엇을했는지 정확하게 설명 할 수 있습니까? –

답변

1

는 나오지 사용해보십시오.

이 간단한 bash 스크립트는 abc를 ddd로, ccc를 10으로 대체합니다. 여기 간단한 파일 작업의 예입니다 : '& abc`가로 대체 될 수 있다는 것을 알고

$ cat file.txt 
so boo aaa abc 
duh 

abc 
ccc 
abcccc 
hmm 
$ ./replace.sh file.txt 
Replacing abc with ddd in file.txt... 
Replacing ccc with 10 in file.txt... 
$ cat file.txt 
so boo aaa ddd 
duh 

ddd 
10 
ddd10 
hmm 
+0

변수가 없어도 고정 될 수 있습니다. 그것은 이와 같은 것입니다 (& * = sss). 나는 새 파일에 grep하고 값을 가져 와서 원래 파일로 대체해야한다. – elangovel

+0

변수와 값의 인수도 만들 수 있습니다. 이것은 단지 예일뿐입니다. 대체 파일을 만들 때 같은 파일에서 변수를 찾고 있습니까? 그렇다면 변수가 정의 된 위치를 바꾸지 않고 다른 위치로 바꾸려는 것이므로 까다로울 수 있습니다. 파일의 형식은 무엇입니까? bash 스크립트? 구문을 아는 것이 도움이 될 수 있습니다. – Trenin