2013-03-24 5 views

답변

2

여기는 Perl을 사용하는 한 가지 방법입니다. 당신이 당신이 펄의 -i 플래그를 사용하는 것이 장소에서 파일을 편집 할 경우

perl -p -e'$_ .= "new word" if /^word/" output.txt > newfile.txt 

perl -i -p -e'$_ .= "new word" if /^word/" output.txt 

"장소 편집에"당신은 또한 SED 나 AWK 사용할 수 있습니다.

1
while read i; do 
    if [[ $i == word* ]]; then 
     echo ${i}newword >> newfile 
    else 
     echo $i >> newfile 
    fi 
done < "file.txt" 
2

앤디의 대답은 좋습니다. 당신이 sed를 사용하려면 당신은 할 수

sed 's/\(^word.*$\)/\1new word/' input.txt > output.txt 
+1

에 대한 정규식 일치를 필요로하지 않는 가정/^ word/s/$/새 단어/'input.txt> output.txt'. 이것은 행의 끝을 "새로운 단어"로 "대체"하지만 "단어"로 시작하는 행에서만 가능합니다. – chepner

+0

아주 좋은 @chepner! – Floris

0

AWK : '나오지도'

awk '$1 == "word" {$(NF+1) = "new word"} 1' output.txt > tempfile && 
mv tempfile output.txt 

난 당신이 반드시 첫 단어조차 간단

관련 문제