2017-05-15 15 views
-1

sed를 사용하여 파일 (/root/test.conf)의 끝에 줄을 추가하려고합니다. 나는 FreeBSD의를 사용하고 난 간단한 줄을 추가 할 때, 나는 항상 같은 몇 가지 오류 얻을 : 명령 sed 파일 끝 부분에 줄을 추가하십시오.

  • 정의되지 않은 라벨 'est.conf'
  • 파일의에서

    • 추가 문자를

      #Test 
      firstLine 
      secondLine 
      
      !p.p 
      *.* 
      

      그리고 나는 이런 식으로 뭔가를 추가 할 :이처럼

      (return \n) 
      !word 
      other (5 tab between "other" and "/usr/local") /usr/local 
      

      sed로는 불가능한 경우 다른 옵션이 있습니까?

      감사합니다.

    답변

    1

    전혀 나오지 사용해야하는 것은 어쩌면 그냥 cat 히어 닥으로, 소리가 나지 않습니다 라인의 하단에 추가되도록,

    cat >>test.conf <<EOF 
    whatever you want here 
    
    more stuff 
    EOF 
    

    >>는 "추가"모드에서 test.conf을 엽니 다 파일이고 <<EOF은 표준 입력을 통해 cat에 줄을 전달할 수있는 heredoc입니다. 다음 V -

    Ctrl 키를 사용하여 대화 형 단말기에 문자 탭을 추가합니다.

    +1

    질문의 특정 예제에서'EOF'를 인용해야 할 수도 있고'! '가 역사 확장 문제를 일으킬 수도 있음을 주목하십시오. –

    +0

    모두에게 감사합니다, 그것은 작동합니다! – icarbajo

    1

    파일 끝 부분에 몇 줄을 추가하려면 sed와 같은 특별한 도구가 필요하지 않습니다.

    $ echo "This is last line" >>file 
    #or 
    $ printf "This is last line\n" >>file 
    

    은 거의 모든 플랫폼에서 잘 작동합니다. 특수 문자를 이스케이프 처리하거나 작은 따옴표 나 큰 따옴표로 묶어야 할 수도 있습니다.