sed를 사용하여 첫 번째 줄을 바꾸는 방법은 무엇입니까?

sed를 사용하여 첫 번째 줄을 바꾸는 방법은 무엇입니까?

안녕하세요. 아래에 언급된 대로 sed 명령을 사용하여 내 파일의 헤더 줄을 바꾸려고 합니다.

sed "1s/.*/$new_header/" Test_file.csv 

위의 줄은 헤더를 대체하고 stdout으로 인쇄합니다. 그러나 출력을 새 파일로 리디렉션하거나 파일을 직접 바꿀 수 있는 방법은 무엇입니까?

sed "1s/.*/$new_header/" Test_file.csv > new_file.csv 

위 명령은 제대로 작동하지만 동일한 파일로 리디렉션하고 싶습니다.

답변1

내부에서 편집하고 백업을 수행하는 -i플래그를 사용할 수 있습니다 .sed

sed -i.bak "1 s/.*/$new_header/" inputfile

-i옵션은 비표준이며 의 다양한 구현에서 다르게 작동할 수 있습니다 sed. 보다sed -i(내부 편집)를 사용하여 이식성을 어떻게 달성할 수 있나요?

관련 정보