쉘 스크립트 질문..
글쓴이: einird / 작성시간: 금, 2005/09/02 - 7:00오후
안녕하세요, 연습문제를 하다가 답도 없이 막혀버린 몇문제 도무지 못하겠어서 도움을 요청할께요..
Shell script 로 짜야 하는데요,
(( ./word 파일이름 ))
1. 이 스크립트는 적혀진 파일에 담긴 모든 단어를 찾고 각 단어가 몇번 나오는지를 세어서 표시한다.(grep쓰는것 같긴한데 도무지..)
예) 만약 temp.txt안에 'time'이 5번, 'is'가 3번, 'money'가 2번 적혀있다면..
$ ./word temp.txt
time 5
is 3
money 2
(( ./scan [-r] [디렉토리이름] ))
2. 적힌 디렉토리에 있는 파일들중 가장 큰 파일과 가장 작은 파일을 찾는 스크립트.
>> 만약 디렉토리 이름을 적지 않았다면 현재 디렉토리에서 스캔한다.
예) 가장큰 파일: 디렉토리이름 / 파일이름
(( ./which [-a] cmd ))
3. 이 스크립트는 적혀진 커맨드 이름(위같은 경우 cmd)의 경로(PATH)를 찾아 보여준다.
>> 만약 -a 가 붙지 않는다면 cmd가 실행된 그 경로만, -a가 붙었다면 해당되는 모든 패스를 표시한다.
예) $ ./which -a ls
/usr/local/bin/ls
/bin/ls
고수님들 답변 부탁드려요..
Forums:
1번 : 다음을 참조하셔요 (좀 수정해야 깔끔)for i in `ca
1번 : 다음을 참조하셔요 (좀 수정해야 깔끔)
for i in `cat temp.txt`; do echo $i; done | sort | awk 'BEGIN{a="";n=0}{if (a
!= $1) {print a " " n;a=$1;n=1} else {n = n + 1}}END{print a " " n}'
2번 : 다음을 참조하셔요 (허접.. ls 가 지원하는 폼에 따라 원하는 출력이 안나올수도)
cmd=$1
ls -lS ${cmd} | sed -e '/^[^-]/d'|awk '{print "젤큰파일 : " $9}'|head -1
3번 : 다음을 참조하셔요
cmd=$1
PPATH=`echo $PATH | sed -e 's/:/ /g'`
for i in $PPATH
do
if [ -f ${i}/${cmd} ]; then
echo ${i}/${cmd}
fi
done
부랴부랴~~~
댓글 달기