손실된 파일을 볼 수 있는 명령줄이 Linux에 있습니까? [복사]

손실된 파일을 볼 수 있는 명령줄이 Linux에 있습니까? [복사]

Linux에 손실된 파일을 볼 수 있는 명령줄이 있습니까? MobaXterm의 터미널 폴더에 000부터 073까지 시작하는 파일 목록이 있습니다. 그런데 아래 사진에서 볼 수 있듯이 070은 빠져있습니다. 감사해요

여기에 이미지 설명을 입력하세요.

답변1

이 명령은 파일이 존재하는지 확인합니다.

test -f file
[[ -f file ]]

다음 메시지의 반환 값을 기반으로 메시지를 에코할 수 있습니다.

test -f file || echo file does not exist

for여러 파일을 확인하려면 루프를 사용할 수 있습니다 .

for f in {000..073}.mat ; do
    [[ -f $f ]] || echo $f does not exist
done

또는 한 줄로:

for f in {000..073}.mat ; do [[ -f $f ]] || echo $f is missing; done

답변2

cd yourfolder
    for file in {001..099}; do
       [ -e "$file.mat" ] && echo $file.mat || echo "Warning: $file.mat is missing"
    done 

99를 원하는 파일 수로 변경하세요...

답변3

파일의 상한을 알고 있는 경우:

for i in {000..074}
  do
  if [ -f "$i.mat" ]
  then
    echo "$i.mat exists"
  else
    echo "$i.mat doesn't exists"
  fi
done

echo원하는 대로 명령을 수정할 수 있습니다 .

답변4

쉘 포함 zsh:

files=(<->.mat)
expected=({000..073}.mat)

missing=(${expected:|files})
printf ' - %s\n' $missing

이와 같이 간단한 이름을 가진 파일의 경우 다음을 사용할 수도 있습니다 comm(여기서는 ksh, zsh 또는 bash 쉘 사용).

comm -13 <(ls) <(seq -f '%03d.mat' 0 73)

관련 정보