파일의 첫 번째 줄에 새 텍스트 줄을 추가하는 방법은 무엇입니까? [복사]

파일의 첫 번째 줄에 새 텍스트 줄을 추가하는 방법은 무엇입니까? [복사]

문서:

TABLE1

1234 
9555    
87676  
2344

예상 출력:

Description of the following table:
TABLE1

1234
9555
87676
2344

답변1

실제로 원하는 것을 수행하기에 충분합니다 echo.cat

echo "Description of the following table:" | cat - file

이 매개변수는 에서 읽도록 -지시합니다 .catstdin

답변2

그리고 sed:

$ sed -e '1i\
Description of the following table:
' <file
Description of the following table:
TABLE1

1234
9555
87676
2344

답변3

printf "%s\n" 1 i "Description of the following table:" . w | ed filename

명령(한 줄에 하나씩) 을 출력 printf하고 . eded filename

ed지시에 따라 파일을 편집합니다.

1                                        # go to line 1
i                                        # enter insert mode
Description of the following table:      # text to insert
.                                        # end insert mode
w                                        # write file to disk

그건 그렇고, 대부분의 다른 텍스트 편집 도구처럼 임시 파일에 쓰고 이동하는 ed대신 진정한 내부 편집을 수행합니다 . sed편집된 파일은 파일 시스템에서 동일한 inode를 유지합니다.

답변4

awk 옵션은 다음과 같습니다.

gawk '
      BEGIN{print "Description of the following table:"}
      {print $0}' file > temp && mv temp file

sed에는 파일에 직접 쓸 수 있는 내부 편집 옵션 -i가 있으므로 이는 sed보다 작업이 조금 더 많습니다.

관련 정보