Linux에서 터미널을 통해 sed를 사용하여 파일 시작 부분에 텍스트 삽입

Linux에서 터미널을 통해 sed를 사용하여 파일 시작 부분에 텍스트 삽입

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

터미널을 통해 파일 시작 부분에 텍스트를 삽입하는 방법은 무엇입니까?

답변1

sed스트림 편집에 사용됩니다. 파일은 스트림이 아닙니다. ed또는 와 같이 이러한 목적으로 설계된 프로그램을 사용하십시오 ex. 이 -i옵션은 sed이식할 수 없을 뿐만 아니라 실제로 파일을 삭제하고 다시 생성하므로 파일에 대한 모든 심볼릭 링크도 끊어집니다. 이는 의미가 없습니다.

ed -s file << EOF
0a
some text
you want to insert
goes here
.
w
EOF

답변2

입력 파일의 줄 범위를 첫 번째 줄로 제한한 다음 줄의 시작 부분을 텍스트로 바꾸어 O/P를 추가하고 새 파일로 리디렉션합니다.

cat f1
one

sed '1,1 s/^/abcdef\n/' < f1 >f2

cat f2
abcdef
one

답변3

그의 sed 표현이 매우 좋다고 생각했기 때문에 abc의 답변을 +1했습니다.

그러나 Regis는 두 개의 파일을 원하지 않았습니다.끼워 넣다그의 파일의 텍스트이므로 abc의 답변을 조정했습니다.

hmontoliu@ulises:/tmp$ cat >  f1 
one
^C
hmontoliu@ulises:/tmp$ sed -i '1 s/^/foobar\n/' f1
hmontoliu@ulises:/tmp$ cat f1
foobar
one

관련 정보