Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Как скопировать определенный диапазон строк из файла? / 18 сообщений из 18, страница 1 из 1
05.02.2007, 12:10:26
    #34305972
BlackDan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
Имеется бооольшой текстовый файл.
Мне нужно из него получить, например, строку с 10000001 по 10020001.
Как это можно сделать?
...
Рейтинг: 0 / 0
05.02.2007, 12:17:53
    #34306000
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
если размер строк переменный, то только чтением всего файла от начала.
...
Рейтинг: 0 / 0
05.02.2007, 12:23:42
    #34306021
BlackDan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
miksoftесли размер строк переменный, то только чтением всего файла от начала.
Исчерпывающий ответ...
А пример можно какой-нибудь?
...
Рейтинг: 0 / 0
05.02.2007, 12:24:35
    #34306024
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
а какими средствами это надо сделать?
...
Рейтинг: 0 / 0
05.02.2007, 12:28:05
    #34306032
-error
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
например, sed'ом
...
Рейтинг: 0 / 0
05.02.2007, 12:28:12
    #34306034
BlackDan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
miksoftа какими средствами это надо сделать?
Стандартными... нужно, к примеру, скопировать строки начиная с 112536000 по 112546354 из файла info.text
...
Рейтинг: 0 / 0
05.02.2007, 12:28:32
    #34306035
BlackDan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
-errorнапример, sed'ом
Как? :)
...
Рейтинг: 0 / 0
05.02.2007, 12:29:51
    #34306041
fandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
# man head
# man tail


# head -10020001 <файл> | tail -20000
...
Рейтинг: 0 / 0
05.02.2007, 12:33:37
    #34306064
BlackDan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
fandr# man head
# man tail
# head -10020001 <файл> | tail -20000
Блин... почему я про head сразу не вспомнил... спасибО!!!
...
Рейтинг: 0 / 0
05.02.2007, 12:37:24
    #34306089
BlackDan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
Рано обрадовался... :(
Файл ну очень большой, поэтому использовать head без ограничения количества выводимых строк очень неэкономично по отношению к нагрузки на сервер.
...
Рейтинг: 0 / 0
05.02.2007, 12:43:18
    #34306115
fandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
дык не зря "# man head" написано :)
тогда sed'ом (как-то сразу не вспомнил :)

# sed -n '112536000,112546354p' info.text
...
Рейтинг: 0 / 0
05.02.2007, 13:00:15
    #34306187
BlackDan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
fandrдык не зря "# man head" написано :)
тогда sed'ом (как-то сразу не вспомнил :)

# sed -n '112536000,112546354p' info.text
А как сделать, чтобы sed остановился после того, как выведет нужные мне строки?
...
Рейтинг: 0 / 0
05.02.2007, 14:31:22
    #34306537
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
типа того

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
#!/usr/bin/sed -nf

 112536000 , 112546354  {
p
}
 112546354  {
q
}
...
Рейтинг: 0 / 0
05.02.2007, 14:34:24
    #34306548
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
однострочником вероятно так


sed -ne '112536000,112546354p' -e '112546354q' info.text
...
Рейтинг: 0 / 0
05.02.2007, 14:44:42
    #34306588
GoldSquid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
Ещё так можно:-
Код: plaintext
1.
2.
3.
4.
ed -s ${file} << END
${n1},${n2}p
q
END
...
Рейтинг: 0 / 0
05.02.2007, 14:59:48
    #34306659
BlackDan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
Спасибо за разные варианты.
Запишу себе в блокнотик :)
...
Рейтинг: 0 / 0
05.02.2007, 15:02:55
    #34306670
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
да, только вроде ed затянет сперва весь файл, а уж потом будет печатать

еще можно awk и другими подобными методами

awk '{ if(NR>=10000001)print; if(NR>=10020001) exit}' info.text
...
Рейтинг: 0 / 0
05.02.2007, 15:28:16
    #34306799
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать определенный диапазон строк из файла?
BlackDanИмеется бооольшой текстовый файл.
Мне нужно из него получить, например, строку с 10000001 по 10020001.
Как это можно сделать?
wc, head, tail.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Как скопировать определенный диапазон строк из файла? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]