.pcap 파일에서만 작동하는 올바른 디렉터리 루핑 방법

.pcap 파일에서만 작동하는 올바른 디렉터리 루핑 방법

bash에서 .pcap 파일과만 일치하는 파일 디렉터리에서 중첩 for 루프를 수행하는 것이 합법적입니까?

ROOTFILEPATH = '/a/path'
FILEEXT = '.pcap'
for file in $ROOTFILEPATH
for $FILEEXT in file; do
    #do something
done

감사해요.

답변1

루프를 중첩하는 대신 첫 번째 루프가 *.pcap파일에만 작동하도록 지시할 수 있습니다.

#! /bin/bash -

for CUR_FILE in "/PATH/TO/DIR/"*.pcap; do
    echo "$CUR_FILE"
done

답변2

디렉토리를 반복하려면 지정된 확장자만 선택하고 디렉토리와 확장자는 변수입니다.

rootfilepath='/a/path'
fileext='.pcap'
for file in "$rootfilepath"/*"$fileext"
do
  : something with "$file"
done

귀하의 원본 콘텐츠를 일부 변경했습니다.

  • 소문자 변수 이름. 단지 관례입니다. 이름이 모두 대문자인 여러 내장 변수를 사용하는 것을 방지하는 데 도움이 됩니다.
  • 변수 할당 주변의 공백이 제거되었습니다. 그렇지 않으면 변수 이름 자체가 두 개의 인수, 즉 등호와 나머지 변수 값을 사용하여 실행되는 명령으로 처리됩니다.
  • do루프에 누락된 값을 추가했습니다.
  • *해당 경로에 있는 해당 확장자를 가진 모든 파일을 가져오려면 디렉터리와 파일 확장자 사이에 셸 와일드카드( )를 사용하세요.

관련 정보