Develop

[unix] 유닉스 명령에 메타문자 사용

by hooni posted Feb 19, 2014
?

Shortcut

PrevPrev Article

NextNext Article

ESCClose

Larger Font Smaller Font Up Down Go comment Print

유닉스 시스템에서는

    % cp *.c  *.pas

같은 명령어를 사용할 수 없다.

유닉스에서는 메타문자(*, ? 등)가 해당되는 문자로 확장되서 작동되기 때문이다.


유닉스에서 이런 단점을 극복하기 위해서 

    % mmv *.c  .pas 

과 같이 작동하는 쉘스크립트를 작성해보자.


# mmv 코드

#!/usr/bin/csh
# usage : % mmv  *.c  .pas
 
set num=$#argv
set rd=$argv[$num]
echo $rd |set ex=`cut -d. -f2`
set i=1
 
while ($i < $num)
    echo $1 |set name=`cut -d. -f1 `
    set name2=$name'.'$ex
    echo "name2 ="$name2
    mv $1 $name2
    shift
    @ i +=1
end


[참고] https://hooni.net/578