Форумы|Другие языки программирования
Простое задание для линуксоидов

<<Пред. | След.>>
1,2,3
Сообщения
1. Litesav[405](Off)Отв|Цит|ЛС
17 Янв 2017, 18:20
Добрый вечер. В универе дали следующее задание.

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


Прошу помочь
__________
посл.ред. 17 Янв 2017, 23:11; всего 1 раз
2. Jaguar[390](Off)Отв|Цит|ЛС
17 Янв 2017, 19:55
find CHANGEDIRECTORY -mount -type f -ls 2> /dev/null | sort -rnk7 | head -1 | awk '{printf "%10d MB\t%s\n",($7/1024)/1024,$NF}'
sleep 10
3. Litesav[405](Off)Отв|Цит|ЛС
17 Янв 2017, 23:11
Jaguar, можешь пояснить команды в твоём коде?
добавлено спустя 3 минуты:
Jaguar, поправил 1-ый пост. Одного и того же расширения*
4. Jaguar[390](Off)Отв|Цит|ЛС
17 Янв 2017, 23:23
find - поиск
CHANGEDIRECTORY - директория в которой искать
mount - не переходить на другие файловые системы
type - что ищем: f=файл
ls - вывод содержимого каталога
2> /dev/null все что покажет команда выкинуть в черную дыру
sort - сортировка файлов
-rnk - сначала обратить результаты сравнения, потом сравнить числовые значения строк
head вывести первые столькото строк в этом случае 1
awk вывод результата
sleep усыпить результаты чтобы консолька не закрылась на 10 сек
5. Litesav[405](Off)Отв|Цит|ЛС
17 Янв 2017, 23:29
Jaguar, это по файлам одного расширения наибольший выбирается? Что будет, если будет в папке файлы нескольких расширений. Что такое чёрная дыра?
6. Jaguar[390](Off)Отв|Цит|ЛС
17 Янв 2017, 23:29
Litesav, после -type f допиши -name *.txt
Будет искать все файлы с расширением txt
7. Litesav[405](Off)Отв|Цит|ЛС
17 Янв 2017, 23:31
Jaguar, а сейчас по твоему коду какое расширение ищет?
8. Jaguar[390](Off)Отв|Цит|ЛС
17 Янв 2017, 23:31
Litesav, я не очень линуксойд, но в моем понимании черня дыра, это такое место в линуксе, которое может принят в себя что угодно но не сохраняет это нигде. Т.е это примерно мусорник без дна, кидай туда что угодно и все в него влезет
9. Litesav[405](Off)Отв|Цит|ЛС
17 Янв 2017, 23:32
Вот так?

find CHANGEDIRECTORY -mount -type f -name *.txt -ls 2> /dev/null | sort -rnk7 | head -1 | awk '{printf "%10d MB\t%s\n",($7/1024)/1024,$NF}'
sleep 10
10. Jaguar[390](Off)Отв|Цит|ЛС
17 Янв 2017, 23:34
Litesav, в первом варианте, ищет самый большой файл с любым расширением в заданной папке. Допишешь -name *.txt будет искать тоолько txt файлы. И ему будет до фонаря на другие файлы, даже если они будут в 100 раз больше
добавлено спустя 45 секунд:
Litesav, угу)

<<Пред. | След.>>
1,2,3

Ответить на тему
Сохранить в txt