헤더에 줄이 있는 임시 파일을 만들고 완료되면 다시 이동하는 것 외에 파일에 일부 줄을 추가하는 표준 방법이 있습니까?
즉, 가끔은 그럴 때도 있지(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의 내용이 터미널로 전송된 다음 두 번째 줄이 오면 첫 번째 줄과 함께 인쇄됩니다.