7GB의 텍스트 파일이 있고
파일의 처음 n줄(n=50이라고 가정)을 편집해야 합니다
. 다음과 같이 하려고 합니다.
head -n 50 myfile >> tmp
vim tmp # make necessary edits
substitute first 50 lines of myfile with the contents of tmp
rm tmp
여기서 3단계를 어떻게 수행합니까? 일반적인 문제에 대한 더 나은 솔루션도 감사합니다. 참고: 이 환경에는 GUI가 없습니다.
답변1
man tail
설명하다:
-n, --lines=[+]NUM
output the last NUM lines, instead of the last 10;
or use -n +NUM to output starting with line NUM
그러므로 당신은 할 수 있습니다
tail -n +51 myfile >>tmp
답변2
백업하기
cp fileorig.txt fileold.txt
tmp.txt에 50줄 복사
head -n 50 fileorig.txt > tmp.txt
vim을 사용하여 필요한 편집을 하세요
vim tmp.txt
3D 물건을 만들려면 이렇게 하세요
먼저 sed를 사용하여 처음 50줄을 삭제하세요.
sed -i 1,50d fileorig.txt
그런 다음 새 파일의 cat tmpedited+fileorig.txt
cat tmp.txt fileorig.txt > filenew.txt
문제가 발생한 경우 백업 복원을 원하시면 filenew.txt를 참조하세요.
cp fileold.txt fileorig.txt
답변3
해결책을 찾았습니다
head -n 50 myfile > tmp
vim tmp # make necessary edits
cat tmp > result
tail -n 50 myfile >> result
# result now contains the edited myfile