GAWK 스크립트 설명

GAWK 스크립트 설명

이 스크립트의 각 줄이 무엇을 하는지 설명할 수 있는 사람이 있나요? 구문이 올바르지 않다고 생각해서 실행할 수 없습니다.

#! /bin/bash
v=`echo $@|gawk '{print $NF}'`
if [-d $v];
$@의 v2의 경우;do
$2 != $v;를 테스트하면
$v2에서 $v/$v2
RM $v2
필리핀 제도
완벽한

답변1

대부분은 쉘이며 첫 번째 if 문에 공백이 없기 때문에 올바르지 않습니다. 반품

  • 첫 번째 if 문에 균형이 부족합니다.fi
  • $@인용 해야한다"$@"
  • $2아마도$v2

어쨌든 -dgawk가 다음을 인쇄해야 하기 때문에 이 테스트는 의심스럽습니다.숫자(디렉토리 이름이 아님) 아직도 당신할 수 있다숫자로 명명된 디렉터리 테스트 중...

설명에서 제안한 대로 이러한 수정을 수행하면 스크립트는 스크립트의 마지막 인수와 다른 모든 항목을 삭제하려고 시도하고 최종 인수로 지정된 디렉터리에 있는 삭제된 파일에 연결합니다. ( mv그냥 사용하는 것이 더 쉬울 것입니다).

제안된 고정 스크립트는 다음과 같습니다.

#! /bin/bash
v=`echo "$@"|gawk '{print $NF}'`
if [ -d $v ];then
  for v2 in "$@";do
    if test $v2 != $v;then
      ln $v2 $v/$v2
      rm $v2
    fi
  done
fi

관련 정보