: 쉘 프로그래밍 질문입니다.
:
: 파일들이.....
:
: 1_1.file
: 1_2.file
: ....
: 1_10.file
:
: 이렇게 있습니다.(이런식으로 순서대로 생성됩니다.)
:
:
: 이놈들중 제일 마지막 생성되놈은 살려주고 나머지는 지우고 싶습니다.
:
: 그러니깐.. 1_10.file 이라는 파일을 남기고 나머지는 다 지우고 싶습니다.
:
: 이 제일 마지막놈을 어케 찾아서 살려 둘수 있을까요... 좀 갈켜 주세요...
:
:
: 에궁....=_-;;;
:
: --
: 난....삽질밖에 할줄 몰러.... 나 먹구 뭐하는 짓인지...=_-;;;
무식한 방법.
용서를 바람.
------------ cut here ------------------------
#!/bin/sh
max1=0
max2=0
for filename in *.file
do
seq_orig=`basename $filename .file`
seq1=`echo $seq_orig | cut -d "_" -f1`
seq2=`echo $seq_orig | cut -d "_" -f2`
if [ $max1 -lt $seq1 ]; then
max1=$seq1
max2=0
fi
if [ $max2 -lt $seq2 ]; then
max2=$seq2
fi
lastfile=${max1}_${max2}.file
done
for filename in *.file
do
if [ $filename != "$lastfile" ]; then
rm $filename && echo "old file $filename is removed."
fi
done
echo "only $lastfile is remained"
--
외로워라 이네몸은 뉘와함께 놀아날꼬.