Форумы|Другие языки программирования
Простое задание для линуксоидов
Сообщения |
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, угу) |