![파일에 한 줄을 "추가"하는 명령은 무엇입니까? [복사]](https://linux55.com/image/27470/%ED%8C%8C%EC%9D%BC%EC%97%90%20%ED%95%9C%20%EC%A4%84%EC%9D%84%20%22%EC%B6%94%EA%B0%80%22%ED%95%98%EB%8A%94%20%EB%AA%85%EB%A0%B9%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
헤더에 줄이 있는 임시 파일을 만들고 완료되면 다시 이동하는 것 외에 파일에 일부 줄을 추가하는 표준 방법이 있습니까?
즉, 가끔은 그럴 때도 있지(echo #GPL license; cat $file) > tmpfile; mv tmpfile $file
편집 2
먼저 일반적인 배포판과 함께 제공되는 표준 명령이 있는지 확인하고 싶었습니다.
편집하다
앞에 추가되는 소스는 고정 문자열일 뿐만 아니라 파일일 수도 있습니다.cat $header $file > tmpfile; mv tmpfile $file
답변1
sed(GNU)가 작동한다면:
$ sed -i '1i #GPL License' file
소스가 파일인 경우:
소스 파일:
$ cat file1
hi
hello
$ cat file2
welcome to
Unix SO.
sed 명령:
$ sed -i '1{
r file1
h;d
};2{H;g;}' file2
sed 명령 후 출력:
$ cat file2
hi
hello
welcome to
Unix SO.
sed의 'r' 명령은 첫 번째 줄 이전의 파일을 읽을 수 없으므로 이 솔루션입니다. 첫 번째 줄은 예약된 메모리에 보관되고 file1의 내용이 터미널로 전송된 다음 두 번째 줄이 오면 첫 번째 줄과 함께 인쇄됩니다.