vim에서 덮어쓰기를 할때
글쓴이: somedayhow / 작성시간: 화, 2013/02/19 - 3:50오전
data1.txt에
너무나 많은 데이터가 있어서.
vim으로 data1.txt를 열어서
:100,200 w >> data1_a.txt
를 이용해 data1_a.txt에 옮겨서 분석을 하고 있습니다.
이 때, 문제는
100,200line까지쓰면 너무 많은 데이터가 있어서
100,150line까지만 쓰려고 하면 새로운 데이터파일을 한번 더 만들어야 하는 번거로움이 있습니다.
즉, 덮어쓰기가 아니라 뒤에 이어 붙이기가 되어버립니다.
덮어쓰기로 검색해도 이 경우에 쓸 수 있는 옵션은 못찾겠습니다.
더구나 vim에서 :100,200 w >> data1_a.txt 을 쓸때는 data1_a.txt를 만들고 난 이후에나 쓸 수 있어서 더욱 불편합니다.
굳이 vim을 열지 않고도
shell command만으로도 위와 같은 작업을 할 수 있을것 같긴 하지만 잘 모르겠습니다.
gnuplot이 line 100~150까지의 데이터만 그리도록 명령을 내릴 수 있다면 참 좋을건데 그건 안되겠죠?
Forums:
간단히는 :100,150 w! data1_a.txt
간단히는 :100,150 w! data1_a.txt 와 같이 하면 해결될 문제로 보이네요..
gnuplot에서 data range를 설정할 수도 있습니다만, data에 따라 좀 다를수도 있겠네요
awk등으로 해당 line 만 filtering하고 pipe로 gnuplot으로 전달해서 plot하는것이 간편해보이네요,
그리고 반복적으로 해당 작업을 할 것이라면 간단한 스크립트를 만드시는 것도 좋아보이고요,
here document로 gnuplot 코드를 embedding한 shell script정도가 현상태에서는 최선으로 보입니다.
--
요즘 질문 많이 올리시던데,
글을 많이 올리시는걸 뭐라할바는 아닙니다만,
좀 미리 생각해보시고, 찾아보시고, 가다듬어서 질문 올리셨으면 좋겠습니다.
죄송합니다
변명이지만 이리저리 치이다보니 잠잘 시간도 없어서 기본기를 닦기가 참 힘드네요 그래서 검색에 의존하고 있는데
검색을 해봐도 뭔말인지 모르겠는 경우가 많습니다.
나름 생각을 해보고 찾아도보고 올린다고는 하는데 그렇게 보인다면 죄송합니다.
잠잘시간도 없으시다니, 충분히 이해는 가네요..부디
잠잘시간도 없으시다니, 충분히 이해는 가네요..
부디 잘 풀리시길.. ^^
--
제가 말씀드린 방법의 스크립트를 적어봅니다.
gnuplot에서 처리하는 방법도 있겠지만,
현재 사용하시는 방법과 최대한 유사하게끔 작성했습니다.
참고하세요.
밑에서 넷째줄, gnuplot << EOF 입니다. 깨지네요..
Gnuplot에서 아래와 같이 하면
Gnuplot에서 아래와 같이 하면 됩니다.
feel the gravity
sed -ne "100,150p" data1.txt
sed -ne "100,150p" data1.txt | gnuplot -
추가로... 200줄 자른 후 다시 150줄 자르실
추가로... 200줄 자른 후 다시 150줄 자르실 때, data1.txt에서 :100,150 w >> data1_a.txt 하지 마시고요.
:100,150w! data1_a.txt 하시면 아마 덮어쓰실 수 있으실 듯합니다. 원래 >>라는 게 추가하기 위해 있는 거니까요. '!' 느낌표로 덮어쓰기 지정한다고 생각하시면 됩니다.
댓글 달기