파일크기를 0으로 하고 싶습니다(콘쉘에서)
글쓴이: koddakgi / 작성시간: 금, 2003/11/07 - 10:56오전
로그화일이 *.out 입니다
크기가 너무 커지다 보니 한번씩 백업 받은후 크기로 0으로
하고 싶습니다.
다음과 같이 쉘을 만들었습니다.
for OUTFILE in `ls -l *.out | awk '{print $9}'`
do
cat /dev/null > $OUFILE
echo " $OUTFILE SIZE ZERO ....."
done
루프안에서 "cat /dev/null > $OUFILE" 구문이 전혀
먹혀들지 않는군요
루프 밖에서 하면 잘되는데...
그리고 혹시 파일사이즈를 0으로하는 다른 방법이 있나요?
그러 수고들 하십시요.
Forums:
touch를 사용하는 것은 어떨런지요?백업받고 전에 파일 지우고 to
touch를 사용하는 것은 어떨런지요?
백업받고 전에 파일 지우고 touch로 같은 파일 이름 생성하고.
그냥 참고하시길.
별은 바라보는 자에게 빛을 준다.
올려주신 코드가 현재 서버에 있는 코드와 동일한거라고 하면....
올려주신 코드가 현재 서버에 있는 코드와 동일한
거라고 하면.....
혹시... 오타 때문은 아닐까요??
cat /dev/null > $OUFILE
$OUTFILE이 되어야 맞을것 같습니다. :wink:
Re: 파일크기를 0으로 하고 싶습니다(콘쉘에서)
오타 같군요. (OUFILE -> OUTFILE)
그리고, 단순히 ls *out으로 치면 되지 않을까요?
---
배려하는 마음을 갖자.
truncate 명령어가 있으면 그걸 쓰세요.
truncate 명령어가 있으면 그걸 쓰세요.
--
익스펙토 페트로눔
죄송합니다.
오타 때문이었군요....
전 어제 오후내내 찾아도 알수가 없더군요
그래서 제가 뭔가 명령을 잘못하고 있늘줄 알고...
질문을 올렸는데... 좀..허탈하군요
그나저나 줼에서는 선언하지 않고 사용하니
이런 오류를 범하지 않나 싶습니다.
이런 오류를 미연에 방지할수 있는 좋은 방법은 없을까요?
여자는 도대체 무엇으로 사는가?
쉘 디버깅...
지금 o'reilly 에서 나온 bash 책을 보고 있는데,
chapter9 정도에 bash debugging 하는 법이 나오네요.
set option 이나 fake signal의 DEBUG 부분에 대한 bash 관련자료를 찾아보시고 활용하시면,
적당히 편하게 디버깅 하실 수 있을껍니다.
WaitplzplzWait
#!/bin/shfor OUTFILE in *.out do
#!/bin/sh
for OUTFILE in *.out
do
> $OUTFILE
echo " $OUTFILE SIZE ZERO ....."
done
for의 in에는 그냥 *.out으로 해도 됩니다.
그리고 cat /dev/null보다는 그냥 >로 하면 0으로 쒸어져 버립니다.
음 더간단하게도 할수가 있군요
우선 답변주셔서 감사합니다.
복잡하게 할필요없이 ls *.out 해도 되는군요... ^^
그리고 cat /dev/null 도 > 만 해두 0으로 됩니다.
쉘에대해서 좀더 공부를 해야겠군요.
한가지 더 질문을 하자면
i++과 같은 효과를 내려구
cnt = `expr cnt + 1`
하니 잘 안되는군요.
이참에 쉘 프로그램책을 한권 구입해야되겠군요
추천좀 부탁드립니다.
여자는 도대체 무엇으로 사는가?
냠...
cnt = `expr $cnt + 1`
$cnt로 해야 변수로 인식합니다.
참고로 Linux라면 아마도 seq라는 명령이 있을껍니다.
1부터 100까지 뭘 한다..하면 seq 1 100 이런걸 사용해 보세요.
댓글 달기