Форум программистов, компьютерный форум, киберфорум
Ubuntu, Mint Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 59
1

Как при вызове функции df в терминале, вывести конкретное значение

24.06.2015, 16:20. Показов 1562. Ответов 25
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как при вызове функции df в терминале, вывести конкретное значение, в моем случае надо вывести загрузку жесткого диска, в данном случае на рисунке она 25%, вот это одно число и надо вывести
Миниатюры
Как при вызове функции df в терминале, вывести конкретное значение  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2015, 16:20
Ответы с готовыми решениями:

При очередном вызове функции сбрасывается значение указателя
Нужно вникнуть в указатели и написать структуру-очередь. Вот что я делаю: void main() {...

Передать значение из функции в нее же саму при следующем вызове
нужно передать значение pustie в функцию и из нее при каждом взятии этой функции вот заголовки: ...

Класс - Ошибки при вызове методов: В вызове функции отсутствует список аргументов
Добрый вечер всем! При изучении и написании работы столкнулся с ошибкой от которой не могу...

Как узнать, опущен ли параметр при вызове функции?
Есть ли способ, если вызов происходит по значению? sub main() foo 0& foo end sub ...

25
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 59
24.06.2015, 16:22  [ТС] 2
я вот знаю что это вроде можно сделать через функцию cat, tr
0
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
24.06.2015, 21:03 3
Cложно было man посмотреть?
Bash
1
df --output=pcent /dev/sda1
0
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
24.06.2015, 21:06 4
А для других случаев, когда нельзя справится с помощью с пец. опций, можно воспользоваться инструментами типа sed. Это так, для справки.
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 59
26.06.2015, 08:55  [ТС] 5
Спасибо получилось, только вот можно ли это вывести даже без %, просто число и все?
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 59
26.06.2015, 09:10  [ТС] 6
что бы было без % и без использования, через cat, которая работает с таблицей, вывести столбец определенный, и с помощью tr убрать все повторяющиеся символы, это как один из примеров, что бы в конечном этоге была цифра 25, ну или другая в зависимости от загрузки
Миниатюры
Как при вызове функции df в терминале, вывести конкретное значение  
0
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
26.06.2015, 11:37 7
Bash
1
df --output=pcent /dev/sda1 | grep'[0-9]\+'
Выдаст только цифры
Цитата Сообщение от Slava-kustov Посмотреть сообщение
через cat, которая работает с таблицей, вывести столбец определенный
Имеется ввиду cut
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 59
26.06.2015, 11:38  [ТС] 8
да , именно cut, извиняюсь.... Вот через нее сделать, никак не получается
0
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
26.06.2015, 12:04 9
Я тоже извиняюсь, но НАХРЕНА ? Вы же понимаете что увеличивать вывод команды и потом его "резать" — это менее эффективно чем сразу получить нужный столбец (ведь опции программы это позволяют)?
Bash
1
df -h /dev/sda1 | tr --complement --squeeze-repeats '[[:digit:]]' '\t' | cut --fields=6
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 59
26.06.2015, 12:07  [ТС] 10
меня вполне первый вариант устраивал, препод просто сказал что сделать именно так надо , через сut и tr, по ходу по извращаться захотелось ему
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 59
29.06.2015, 16:19  [ТС] 11
Цитата Сообщение от Marinero Посмотреть сообщение
1
df -h /dev/sda1 | tr --complement --squeeze-repeats '[[:digit:]]' '\t' | cut --fields=6
ввел то что вы написали, но у меня вместо 25 выводится 12? как это можно исправить?
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 59
29.06.2015, 16:20  [ТС] 12
вот как это выглядит, помогите решить проблему
Миниатюры
Как при вызове функции df в терминале, вывести конкретное значение  
0
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
29.06.2015, 18:10 13
Bash
1
df /dev/sda1 | tr --complement --squeeze-repeats '[[:digit:]]' '\t' | cut --fields=6
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 59
30.06.2015, 09:45  [ТС] 14
Спасибо, еще как вариант я в конце вместо 6 поставил 7 и тоже все получилось

Добавлено через 33 минуты
Marinero ? вы можете объяснить что каждая команда в строчке делает, или как вообще работает данный код

Добавлено через 11 минут
мне надо что бы выводило конкретное значение привязанное к данному полю, в поем случает это там где 25% стоит , что бы если вдруг если что то меняется в строке не надо было код менять
0
160 / 160 / 30
Регистрация: 09.11.2012
Сообщений: 1,008
30.06.2015, 15:12 15
Bash
1
df /dev/sda1  | egrep -o '[[:digit:]]{1,3}%'
незачем плодить кучу тем
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 59
30.06.2015, 15:36  [ТС] 16
Цитата Сообщение от mokojumbot Посмотреть сообщение
незачем плодить кучу тем
mokojumbot,

mokojumbot таким способом не подойдет, мне надо именно через cut и tr организовать это.
тот код который представлен выше он верный в принципе но доработать надо его, или как можно больше упростить

Добавлено через 4 минуты
смысл в том что мне не нужен вывод процентов через эту функцию, мне надо представить это в виде таблице и вывести конкретную ячейку, т.е ячейку где стоит число 25
0
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
30.06.2015, 15:59 17
Вам дают задания чтоб Вы хоть чему-то научились, а Вы даже справку по командам не удосужились посмотреть? Полная:
Bash
1
2
info coreutils 'tr invocation'
info coreutils 'cut invocation'
Коротко
Bash
1
2
tr --help
cut --help
tr удаляет заменяет все нецифровые (комбинация --complement(наоборот) + диапазон [[:digit:]]) символы на символ табуляции \t, не допуская сдвоенности, строенности и т.д. (параметр --squeeze-repeats(удалить повторения))
cut выводит указанное поле(столбец), которые, если не указан другой разделитель, отделяются друг от друга символами табуляции — в данном случае 6, т.к. строка начнется с символа табуляции, что приведет к +1 поле (пустое — от начала строки до разделителя)
Цитата Сообщение от Slava-kustov Посмотреть сообщение
вместо 6 поставил 7 и тоже все получилось
только при определенных обстоятельствах. Если принципиально вывод в human-readable формате:
Bash
1
df -h /dev/sda1 | tr --complement --squeeze-repeats '[[:digit:],]' '\t' | cut --fields=6
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 59
30.06.2015, 16:41  [ТС] 18
спасибо большое, а сделать что бы в конце было число 5 нельзя как нибудь?

Добавлено через 9 минут
спасибо большое, но мне надо взят превратить это в таблицу, потом взять 6 поле, где 25% и вывести его, и потом удалить знак %, так можно как нибудь сделать?

еще вспомогательные команды head, tail, tr, cut, вот их надо использовать
0
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
30.06.2015, 17:13 19
У Вас что-то не работает? В чем вопрос-то?
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 59
30.06.2015, 17:15  [ТС] 20
Цитата Сообщение от Slava-kustov Посмотреть сообщение
head, tail, tr, cut
как записать то же самое но через эти команды? что бы 25 выводило
0
30.06.2015, 17:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2015, 17:15
Помогаю со студенческими работами здесь

как объявить правильно tr и как его использовать при вызове функции?
main.cpp case 8: cout << "Firs trapec # is: "; cin >> k; k = k - 1; cout <<...

Как вывести конкретное свойство элемента?
Вот есть цикл, что перебирает массив. Он выводит все свойства элементов. Мне нужно выводить...

Как достать из БД конкретное значение кошелька по логину юзера?
Всем привет! НЕ могу сделать так, чтобы из БД вытянуть состояние счёта по конкретному...

Как из указателя на массив достать конкретное значение массива
Добрый день. Недавно написал программу проверки предложения на панграмму. Панграмма — текст,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru