![손실된 파일을 볼 수 있는 명령줄이 Linux에 있습니까? [복사]](https://linux55.com/image/150615/%EC%86%90%EC%8B%A4%EB%90%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%B3%BC%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EB%AA%85%EB%A0%B9%EC%A4%84%EC%9D%B4%20Linux%EC%97%90%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
답변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)