파일에 한 줄을 "추가"하는 명령은 무엇입니까? [복사]

파일에 한 줄을 "추가"하는 명령은 무엇입니까? [복사]

중복 가능성:
여러 파일의 시작 부분에 태그를 추가하는 방법은 무엇입니까?

헤더에 줄이 있는 임시 파일을 만들고 완료되면 다시 이동하는 것 외에 파일에 일부 줄을 추가하는 표준 방법이 있습니까?

즉, 가끔은 그럴 때도 있지(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의 내용이 터미널로 전송된 다음 두 번째 줄이 오면 첫 번째 줄과 함께 인쇄됩니다.

관련 정보