2012-05-21 2 views
2

변수 파일 이름과 값으로 나열된 몇 가지 매개 변수 값인 bugfile.param이라는 텍스트 파일 인 매개 변수 파일이 있습니다. 그냥 예 :UNIX에서 텍스트 값의 값을 찾고 변경하십시오.

난 그냥 (exaple에 대한) 다른 par5 새로운 파일을 생성 할
par1 123 
par2 234 
par3 11 12 4 15 
par4 15 
par5 18 
par6 1 
par7 0.05 

, 20와 같은 par5 2 개 추가 파일이, 30 다른 매개 변수가 일정한 말한다.

# additional file1 with par value 20 
    par1 123 
    par2 234 
    par3 11 12 4 15 
    par4 15 
    par5 20 
    par6 1 
    par7 0.05 

# additional file1 with par value 30 
    par1 123 
    par2 234 
    par3 11 12 4 15 
    par4 15 
    par5 30 
    par6 1 
    par7 0.05 

답변

2

파일 1을 작성하려면 다음을

sed 's/^ *\(par5\).*$/\1 20/' bug.par > file1 

이 파일 2를 만들려면 :

sed 's/^ *\(par5\).*$/\1 30/' bug.par > file2 

편집 : 코멘트 당으로을, 루프를 실행 : 큰

# declare and initialize an array with 3 elements 
declare -a arr=(20 30 40) 

# iterate over array 
for i in ${arr[@]} 
do 
    sed 's/^ *\(par5\).*$/\1 '$i'/' bug.par > file$i 
done 
+0

을! 고마워 ... 우리는 벡터의 길이 (예 : 20, 30, 40, 50 등)에 대한 프로세스를 반복 할 수 있습니까? 간단한 질문에 대한 미안합니다 – jon

+0

Pls는 벡터 (배열) 반복에 대한 편집을 확인하십시오. – anubhava

관련 문제