LINUX.ORG.RU

Помогите с GREP «регулярными выражениями»


0

0

Есть задача почти что неразрешимая :) Есть файл вида:
│ 1│03.01.2002│793018│127185│ 2 │111│ Брак│АЛТ : 64│
│ 2│03.01.2002│786260│127187│ 1 │211│ Брак│АЛТ : 45│
│ 3│03.01.2002│786259│127188│ 1 │211│ Брак│АЛТ : 66│
│ 4│03.01.2002│788997│ 87402│ 2 │222│ Брак│АЛТ : 123│

Этот файл очень большого размера... Нужно каждую колонку выделить в отдельный файл, для дальнейшего переноса в OO... Так вот не понимаю как задать grep'у искать определённое положение в строке, например с 4 по 14 символ и вывести результатом только это и ничего больше... Пока получилось только что-то вроде:
$cat test.txt| grep -o -E ......2002
03.01.2002
03.01.2002
03.01.2002
03.01.2002
А как дальше не знаю :) Остальные строчки... Regular Expresions в мане описан плохо, не понял, вот и прошу помощи!!


Юзай sed или awk. если у тебя asplinux, то ман по awk даже по-русски будет :)))

gr_buza ★★★★
()

а ты это.. man cut не пробовал??

dilmah ★★★★★
()

#!/bin/bash
set `cat твое_файло| awk --field-separator="разделитель полей" '{ print "1" "$2" "$3" "$4" "$5" "... (и тд сколько полей)$X}'

while [ $# != 0 ]; do
echo $1 >> file1
...
echo $X >> fileX
shift X
done

но не завидую я тебе - если файл большой будешь долго ждать. я бы это на С бы реализовал, но пример меня не проси.

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

а кто говорит что авк тормозить будет??? самые медленные операции это дисковые операции -а тут по каждому стрингу - 6-7 файлов = fopen(char *file, "a"); и тд...

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