LINUX.ORG.RU
ФорумAdmin

Наивный вопрос!


0

0

А как считать одну строку из файла командой bash'а. Нужно для последующей обработки в шелловской программе, а то меня сегодня клинит.

anonymous

~> free 
             total       used       free     shared    buffers     cached
Mem:        255576     228440      27136          0      89500      58432
-/+ buffers/cache:      80508     175068
Swap:       248996      49128     199868
~> free | head -n 1
             total       used       free     shared    buffers     cached
~> 

Zulu ★★☆☆
()
Ответ на: комментарий от Zulu

Наверно некорректно поставил вопрос.
Есть файл (массив), содержащий скажем 30 строк по 9 столбцов,
разделенных табуляторами.
Нужно считать каждую строку, разбить на составные стринги и передать значения этих стрингов переменным для последующей обработки.
Затем переход к следующей строке. И так до конца файла.
ВОПРОС: Как считывать строки.
Если командой line, то как переназначить стандартный ввод-вывод и как вернуть взад?

anonymous
()
Ответ на: комментарий от view

sed и awk уже много, а перл пожалуй даже лишнее, но вопрос уместнее в Development разместить...

anonymous
()
Ответ на: комментарий от anonymous

Если в bash, то help read -- он умеет читать и из файла.

Zulu ★★☆☆
()

На Перле понятно, что легче. Но я начинающий и пока вожусь только с командной строкой. За другие советы спасибо. Щас посмотрю.

anonymous
()
Ответ на: комментарий от anonymous

Правильно! Вот это по нашему! Мы ведь не ищем легких путей, правда?!
Интересно, только как вы будете файл парсить без awk?...

view
()
Ответ на: комментарий от grustnoe

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

Попробовал с AWK - геморойно получается.

anonymous
()

FILE=file
while read param1 param2 param3
do
echo param1 = $param1
echo param2 = $param2
echo param3 = $param3
done < $FILE

Для файла с содержимым:
1 2 3
4 5 6
9 8 7

выдает:

param1 = 1
param2 = 2
param3 = 3
param1 = 4
param2 = 5
param3 = 6
param1 = 9
param2 = 8
param3 = 7

Gelin
()
Ответ на: комментарий от Gelin

СПАСИБО! ПОЛУЧИЛОСЬ! ВАУ-У :-)))

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.