Форум Gatchina OnLine

Форум Gatchina OnLine (https://forumgol.ru/index.php)
-   Программирование и разработка (https://forumgol.ru/forumdisplay.php?f=4)
-   -   AWK (shell, Linux) (https://forumgol.ru/showthread.php?t=5366)

ΛLIEN 17.05.2007 20:08

Цитата:

Сообщение от Прохожий (Сообщение 218671)
так ты можешь хотя бы кусок реального файла показать? ну или сочинить, но чтобы он был таким же, как в реале. издеваться над $0 смысла нет, не для этого awk придуман.

Ок. Сочиняю. =)

1001 "Через тернии к звездам" "Афтар А.Ф." 1955 500 "Лениздат. бла бла бла"

Прохожий 17.05.2007 20:16

одной строки мало :) еще парочку, а лучше чуть больше. в реальном файле числа и строки идут именно в таком порядке?

ΛLIEN 17.05.2007 20:18

Цитата:

Сообщение от Прохожий (Сообщение 218688)
одной строки мало :) еще парочку, а лучше чуть больше.

У меня фантазии не хватит. =)

Цитата:

Сообщение от Прохожий (Сообщение 218688)
в реальном файле числа и строки идут именно в таком порядке?

Считай, что да.

Прохожий 17.05.2007 20:23

т.е.
Цитата:

1001 "Через тернии к звездам" "Афтар А.Ф." 1955 500 "Лениздат. бла бла бла"
1001 "Через тернии к звездам" "Афтар А.Ф." 1955 500 "Лениздат. бла бла бла"
1001 "Через тернии к звездам" "Афтар А.Ф." 1955 500 "Лениздат. бла бла бла"
1001 "Через тернии к звездам" "Афтар А.Ф." 1955 500 "Лениздат. бла бла бла"
1001 "Через тернии к звездам" "Афтар А.Ф." 1955 500 "Лениздат. бла бла бла"
1001 "Через тернии к звездам" "Афтар А.Ф." 1955 500 "Лениздат. бла бла бла"
1001 "Через тернии к звездам" "Афтар А.Ф." 1955 500 "Лениздат. бла бла бла"
1001 "Через тернии к звездам" "Афтар А.Ф." 1955 500 "Лениздат. бла бла бла"
похоже на реальный файл? потому что задача такая, что решение будет неуниверсально и сильно зависеть от исходных данных.

ΛLIEN 17.05.2007 20:25

Цитата:

Сообщение от Прохожий (Сообщение 218693)
похоже на реальный файл? потому что задача такая, что решение будет неуниверсально и сильно зависеть от исходных данных.

На отсечение ничего не дам, но вроде так.

Прохожий 17.05.2007 20:28

а ограничение awk only насколько критично? sed использовать можно? он есть везде, где есть shell :)

ΛLIEN 17.05.2007 20:31

Цитата:

Сообщение от Прохожий (Сообщение 218696)
sed использовать можно? он есть везде, где есть shell :)

sed есть.

Прохожий 17.05.2007 20:34

cat testfile |sed 's/" "/"/g'|awk 'BEGIN {FS="\""}; {print $1,$2,$3,$4,$5}'

ΛLIEN 17.05.2007 20:47

Цитата:

Сообщение от Прохожий (Сообщение 218701)
cat testfile |sed 's/" "/"/g'|awk 'BEGIN {FS="\""}; {print $1,$2,$3,$4,$5}'

Спасибо, завтра попробую.

Прохожий 17.05.2007 20:50

не, если файл именно в таком виде, то тогда четвертое поле будет содержать "1955 500", а это неправильно. полей должно быть шесть и четвертое должно быть "1955", а пятое "500". ща переделаю, но решение станет еще сильнее привязанным к файлу :)


Текущее время: 20:32. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot