Есть ли командная строка для просмотра отсутствующих файлов в Linux? [дубликат]

Logré que el servidor volviera a funcionar

Coloque el disco centOS en el sistema, reinicie, ingrese al proceso de instalación y luego salga. Desde ahí pude seleccionar una versión anterior del kernel y arrancar el sistema

1
25.03.2019, 17:22
4 ответа

Эти команды проверяют, существует ли файл:

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
1
28.04.2021, 23:35

Если вы знаете верхний предел файлов, то:

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по своему желанию.

0
28.04.2021, 23:35

С оболочкой 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)
0
28.04.2021, 23:35
cd yourfolder
    for file in {001..099}; do
       [ -e "$file.mat" ] && echo $file.mat || echo "Warning: $file.mat is missing"
    done 

Измените 99 на ожидаемое количество файлов....

1
28.04.2021, 23:35

Теги

Похожие вопросы