2014-04-15 5 views
0

ok, поэтому я делаю скрипт bash для чтения записи из файла, и у меня возникла проблема с отображением записей на экране с номерами строк.как grep номера строк текстового файла после записи отображаются на экран

В настоящее время я могу ввести имя файла, а затем ввести номер строки, после того как я наберу номер строки, он напечатает номер строки, который был выбран на экране, и спросите, хотите ли они удалить его.

Что я хочу сделать, когда пользователь выбирает вариант удаления записи, он попросит их указать имя файла. пользователь будет вводить строку и будет искать файл для записей, соответствующих этому описанию, и распечатывать все записи, имеющие соответствующее содержимое, на экране с рядом строк рядом с ними

В настоящее время это код, который я разработал:

echo "please enter the address book you would like to search in " 
read bookName 
book="$bookName" 

echo "Please Enter the name of the person you wish to look for " 
read search 

echo "First Names , Surname , Occupation , Phone Number , Mobile Number , Address " 
grep -i $search $bookName 

grep -n $bookName 
echo -n "What line number do you want to delete? " 
read lineNumber 
sed -n "$lineNumber p" $bookName 

В настоящее время поиск выполняется для поиска людей, но он не отображает номера строк рядом с ними, и я знаю, что функция удаления здесь отсутствует, но я должен ее кодировать.

Основные проблемы, с которыми я столкнулся, это печатать записи, найденные рядом с ними рядом строк.

благодаря

+0

Является ссылкой на 'bookName' файл? – devnull

+0

Да, это файл, который я создал уже, но есть более одного, поэтому я даю выбор, чтобы выбрать файл. – user3009419

+0

Трудно понять, чего вы пытаетесь достичь. Сожалею. – devnull

ответ

0

Просто измените

grep -i $search "$bookName" 

в

grep -in $search "$bookName" 

И он будет печатать номера строк для согласования линий.

+0

Спасибо за ответ! – user3009419

 Смежные вопросы

  • Нет связанных вопросов^_^