dir의 하위 모든 파일 중 A라는 문자열을 가진 파일만을 directory 계층 구조 그대로 복해하는 명령
글쓴이: rain / 작성시간: 화, 2006/03/14 - 10:03오후
아래처럼, 소스가 계층적으로 구성된 디렉토리에서 특정 텍스트가 있는 파일만
계층적 구조를 그대로 유지하면서 추출해내고 싶은데 막히네요.
shell> myscript __LABEL__ sourcedir/
다음 두 명령을 조합하면 될꺼 같은데 grep에서 추출한 file name들 cp 명령의
argument로 넘기는 방법을 모르겠습니다.
혹은 다른 간단한 스크립트를 아려주셔두 되구요.
#!/bin/sh
grep -rl $1 $2
cp --parents [each file name] -t out
___________________________________________________________
그냥 아래처럼 해버렸네요. ^^;
-t는 copy된 파일을 위치 시킬 directory로 알고 있습니다.
label=$1
srcIn=$2
srcOut=$3
targetIn=$4
targetOut=$5
for file in $(grep -rl $label $srcIn)
do
echo "+ Source: $file"
cp --parents -t $srcOut $file
echo " Target: $targetIn/$file"
cp --parents -t $targetOut $targetIn/$file
done
Forums:
grep -rl $1 $2 | awk
grep -rl $1 $2 | awk '{$com="cp --parents "$0" -t out";print $com; system($com);}'
그런데 -t 옵션은 뭐죠?
댓글 달기