![텍스트 파일의 특정 줄 번호부터 쓰기 시작](https://linux55.com/image/31835/%ED%85%8D%EC%8A%A4%ED%8A%B8%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%ED%8A%B9%EC%A0%95%20%EC%A4%84%20%EB%B2%88%ED%98%B8%EB%B6%80%ED%84%B0%20%EC%93%B0%EA%B8%B0%20%EC%8B%9C%EC%9E%91.png)
Bash 스크립트에서 텍스트 파일에 몇 줄을 쓰고 싶지만 해당 파일은 이전에 사용된 적이 있어서 그 안에 텍스트가 있습니다. 그래서 파일의 특정 줄 번호부터 시작하는 추가 텍스트를 에코하고 싶습니다.
나는 다음과 같은 것을 원합니다 :
echo -fromLineNumber 33 -e "anything" >> textPath
답변1
sed
특정 줄에 쓰기를 사용할 수 있습니다 .
이 시도:
sed -i '33ianything' textpath
또는
sed -i '33i\anything' textpath
33행에 "anything"이 삽입됩니다.
답변2
처음 32줄을 유지하고 그 뒤에 새 텍스트를 추가하려면 다음을 수행하세요.
head -n 32 oldfile > newfile
echo anything >> newfile
echo goes >> newfile
echo here >> newfile
파일의 32번째 줄 뒤에 텍스트를 삽입하려면:
sed -e '32s/$/\nanything\ngoes\nhere/' oldfile > newfile