Автор Гілка: Пошук та збереження рядку  (Прочитано 1719 раз)

Відсутній Djalin

  • Письменник
  • *****
  • дописів: 661
  • Карма: +0/-0
Треба щось наваяти на баші, що шукало б в текстовому файлі (чи отримувало як параметр вивід команди) рядок з певним текстом, а потім окремо цей рядок зберігало.

вивід у файл я знаю, а от як зробити збереження рядку де зустрічається наприклад слово "картопля" ?

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: Пошук та збереження рядку
« Відповідей #1 : 2014-05-13 15:59:49 »
Код: Bash
  1. grep картопля file.txt > outfile.txt
  2.  
?

grep — стандартна утиліта, є навіть у busybox.

Якщо дуже хочеться саме на bash:

Код: Bash
  1. while read line; do
  2.       if ! [ "${line#*картопля}" = "$line" ]; then
  3.             echo "$line"
  4.       fi
  5. done
  6.  

або

Код: Bash
  1. while read line; do
  2.       if [[ "$line" =~ "картопля" ]]; then
  3.             echo "$line"
  4.       fi
  5. done
  6.  
« Змінено: 2014-05-13 16:05:37 від ISBear »

Відсутній Djalin

  • Письменник
  • *****
  • дописів: 661
  • Карма: +0/-0
Re: Пошук та збереження рядку
« Відповідей #2 : 2014-05-13 19:54:09 »
Дякую.
Стандартні теж підходять, про це читав, але не цілком зрозумів чи збереже весь рядок з картоплею чи лише саме слово.
Завтра спробую (насправді треба витягнути інфу про девайс) й відпишу результати.

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: Пошук та збереження рядку
« Відповідей #3 : 2014-05-13 21:38:00 »
Весь рядок.