2013-07-19 4 views
6

나는 다음 줄을 추가합니다.추가 라인은 이미

어떻게해야합니까? 리눅스 명령 줄에서 할 수 있습니까? 나는 grep 또는 sed을 사용할 것이라고 생각하지만, 익숙하지 않아서 제대로 작동하지 않습니다. 지금은 echo을 사용하고 있지만 계속해서 계속 추가하고 있습니다.

AWK로 할 수도
grep -q "yourline" /path/file||sed -i '/..place../ a \the line' file 

,

이 라인은, 출구를 발견 한 경우 저장하는 동안, 어레이의 모든 라인을 저장합니다

+0

참고로,이 효과적으로 [이미 나던 존재하는 경우에만 파일에 한 줄을 덧붙이의 중복입니다. Sed 사용?] (http://stackoverflow.com/questions/3557037/appending-a-line-to-a-file-only-if-it-doesnt-already-exist-using-sed) – DuffJ

답변

12

당신이 파일의 끝에 원하는 가정 :

LINE="nohup java -jar /mnt/fusion/nfs/labStats/LabInfoAutoLog.jar > /dev/null &" 
FILE=/etc/rc.d/rc.local 
grep -q "$LINE" "$FILE" || echo "$LINE" >> "$FILE" 
2

하나의 옵션은 두 단계이다. 그렇지 않은 경우 END{} 블록을 올바른 위치에 추가하십시오.

P. 파일에 어디에 그 행을 추가할지 말하지 않았습니다.

+0

+1 내 솔루션보다 깨끗한 솔루션. 나는 그가 단지 그것을 덧붙이고 싶어한다고 생각한다. –

+0

그는 현재'echo'를 사용하므로 마지막 ('sed'의 달러 기호)이됩니다. – Birei

+0

'grep' 비트가'grep -qb ... '라고하는 것을 제안 할 수도 있습니다. – twalberg