Найти самый большой файл в каталоге и указать имя файла в переменной

Я подозреваю, что kpartxне хранит никакого состояния, поэтому он не помнит, вызывали ли вы изначально /dev/loop0или ему нужно было настроить петлевое устройство.

Судя по примерам на странице man, losetupдовольно хорошо обрабатывается сценариями, так что не должно быть слишком много дополнительной работы, чтобы справиться с этой частью самостоятельно.

0
08.02.2020, 18:32
3 ответа

Чтобы ограничить поиск текущим каталогом, используйте-maxdepth 1

$ find. -maxdepth 1 -type f -printf "%s\t%p\n" | sort -n | tail -1
5359532./coreutils_8.30.orig.tar.xz

$ var1="$(basename $(find. -maxdepth 1 -type f  -printf "%s\t%p\n" | sort -n | tail -1 | awk '{print $NF}'))"
$ echo "$var1"
coreutils_8.30.orig.tar.xz
2
28.04.2021, 23:24

Я бы попробовал

#!/bin/bash 
biggest=$(ls -S -1 /specified/directory/ | head -n1) 
echo $biggest

$ человек лс

-S     sort by file size, largest first
-1     list one file per line

$ голова человека

-n     print the first NUM lines

Чтобы включить в переменную полный путь, попробуйте

ls -S -1 -d /specified/directory/* | head -n1

однако человек ls неясен

-d      list directories themselves, not their contents
0
28.04.2021, 23:24

Хотя вы пометили вопрос bash, если zshявляется вариантом:

print -rv var1 *(.OL)
0
28.04.2021, 23:24

Теги

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