Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159

Написать скрипт для поиска в телефонном справочнике фамилии и имени заданного номера телефона

21.10.2015, 23:15. Показов 5156. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите скрипт для поиска в телефонном справочнике фамилии и имени заданного номера телефона. Если таких владельцев несколько, то необходимо вывести их всех. При выводе номер телефона не следует выводить на экран
Желательно работать с файлами

с Shell-скриптами я не очень

Добавлено через 1 минуту
Вот код:

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$ cat NameList.txt
 
#!/bin/bash
 
 
$ grep -n 89 NameList.txt
echo "Введите номер"
 
read Num[0-9])
echo $Num
 
 
echo i=0;
while [$Num = true]
do
if [ $Num = $ ]
then
echo "$"
i=i+1
if (i=0) 
echo "Nomerov ne naideno"
 
done
 
echo $Num
Тут много чего надо доработать

Добавлено через 1 минуту
Содержание файла NameList.txt
89162345678 Ivanov
89293428596 Petrov
89655539238 Sidorov
89852637591 Filatov
89655539238 Nikonov
89162352591 Nikitin
89141391294 Semenov
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2015, 23:15
Ответы с готовыми решениями:

Программа для поиска номера телефона по фамилии
ребята подскажите,пожалуйста,есть какая-нибудь программа для поиска номера телефона по фамилии абонента

Составить программу, которая позволяет найти в телефонном справочнике по номеру телефона ФИО и адрес абонента
Здравствуйте, Уважаемые. Очень срочно нужна Ваша помощь, в решении двух задач. 2.В среде TurboPascal составить и отладить программу,...

Написать программу, которая позволяет найти нужные сведения в телефонном справочнике
2.Написать программу, которая позволяет найти нужные сведения в телефонном справочнике. Программа должна запрашивать фамилию человека и...

13
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.10.2015, 10:23
Зачем Вам скрипт, когда достаточно 1-й команды?
Bash
1
grep -oP 'номер \K.*' NameList.txt
Или, например классический:
Bash
1
sed -n '/89655539238/s/.*\s//p' NameList.txt
или более быстрые
Bash
1
2
sed '/89655539238/s/\s/\n/;/^8/D' NameList.txt
sed '/89655539238/!d;s/.*\s//' NameList.txt
0
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
22.10.2015, 11:03  [ТС]
Одной команды мне недостаточно, хотелось бы поподробнее расписать действия в коде
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.10.2015, 11:17
Цитата Сообщение от Dionisius Посмотреть сообщение
Одной команды мне недостаточно
Ну напишите скрипт из 1-й команды
0
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
22.10.2015, 11:18  [ТС]
а что означает -oP ?
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.10.2015, 11:20
Dionisius,
Bash
1
grep --help
0
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
22.10.2015, 11:47  [ТС]
если введу такой номер, которого в файле нет, то должно быть написано, что номеров нет. Как это сделать?
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.10.2015, 12:34

Не по теме:

Огласите, пжлста, весь список!©к/ф «Напарник»

Может стоит уже немного самому поднапрячь "серое вещество"?
Bash
1
grep -oP "номер \K.*" NameList.txt || echo 'Number is not in the list'
0
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
22.10.2015, 13:18  [ТС]
Будем разбираться... Как будет результат, отпишусь
0
 Аватар для MicM
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
27.10.2015, 13:39
Bash
1
awk 'BEGIN{flag = 0}{if($1 == 89162345678)print $2; flag = 1}END{if(flag = 0)print "Entry not found"}' NameList.txt
Bash
1
grep "89162345678" NameList.txt | grep -o --perl-regexp --regexp="(?i)[a-z]+"
0
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
08.11.2015, 21:08  [ТС]
Снова хочу поднять тему. Теперь у меня проблема вот какая: хочу запустить в терминале скрипт вот каким образом:
chmod +x (имя файла)
./(имя файла) (номер телефона)
После нажатия Enter все равно потребуется ввести номер телефона (второй раз). Как сделать, чтобы скрипт запускался двумя способами?
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
08.11.2015, 23:51
Bash
1
2
3
4
5
6
if [ "$1" ]
then
    Num=$1
else
    read -p "Введите номер телефона: " Num
fi
0
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 159
11.11.2015, 00:04  [ТС]
Получилось вот что:

Bash
1
2
3
4
5
6
7
8
#!/bin/bash
if ["$1"]
then
Num = $1
else
read -p "Vvedite nomer telefona: " Num
fi
grep $Num NameList2.txt || echo "Nomera ne naideno"
Терминал ругается на вторую строчку. Что я упустил?

Добавлено через 1 час 14 минут
со второй строчкой вроде все норм, у меня ошибка возникла м/у then и else
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
11.11.2015, 10:34
Bash
2
if [ "$1" ]
"[" — это алиас команды test, так что действуют обычные правила(пробел между командой и аргументами). Равносильно
Bash
1
if test "$1"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.11.2015, 10:34
Помогаю со студенческими работами здесь

Написать программу, которая позволяет найти нужные сведения в телефонном справочнике (d: .txt)
Написать программу, которая позволяет найти нужные сведения в телефонном справочнике (d: .txt). Программа должна просить фамилия человека...

Известны фамилии сотрудников, инициалы, номера телефонов. Найти номер телефона по фамилии и инициалам владельца
помогите с Исходником. Известны фамилии сотрудников, инициалы, номера телефонов. Найти номер телефона по фамилии и инициалам владельца.

Регулярка для поиска номера телефона
Привет ! Сделал такую регулярку: const string myReg1 = @"((\+38|8)?)?(?\d{3}??)?{6,14}"; Она не ловит все варианты...

Скрипт для отображения номера телефона
Как написать номер телефона чтобы это было красиво и есть ли такой скрипт?

Регулярное выражение для поиска номера телефона
Подскажите пример регулярного выражения для поиска номера телефона.


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru