![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Чтение и запись файла с именем файла на Парама файл. | thebeginer | UNIX перспективных И опытных пользователей | 1 | 10-05-2007 05:38 PM |
| Разлитыми Excel-файл в Unix | Soumya Dash | Shell программирование и сценарии | 1 | 09-25-2006 03:56 AM |
| Чтение имен файлов из файла и исполнители относительной файл из скрипта оболочки | anushilrai | Shell программирование и сценарии | 4 | 03-10-2006 05:25 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Как разлитые файл
Привет,
У меня есть файл, abc.txt. нравиться abc.txt \u003d\u003d\u003d\u003d\u003d\u003d\u003d KOKRS EL01 RLDNR M2 RRCTY 1 Компания Код 100 2007 финансовый год Версия PW3 Валюта USD 1 2 3 4 1 2 3 4 Б. А. Номер счета прибылей рейтинг кликов MRA январем-февралем ТК-КЛ A 93010000 1530 152 1429793 A 93010000 9999 403 0 0 0 A 93010000 9999 404 -142 A 93010000 9999 411 0 0 0 A 93010000 9999 465 214538 214538 6114330 A 93010000 9999 487 0 -207918 А 93010000 471 502 0 0 0 A 93010000 9999 502 0 0 0 KOKRS EL01 RLDNR M2 RRCTY 1 Компания Код 152 2007 финансовый год Версия PW3 Валюта GBP 1 2 3 4 1 2 3 4 Б. А. Номер счета прибылей рейтинг кликов MRA январем-февралем ТК-КЛ A 93010000 1200 152 0 0 0 A 93010000 9999 152 -57885 -16511 -537549 KOKRS EL01 RLDNR M2 RRCTY 1 ....... ..... 500 строк, как этот Я этого файла, разлитые в разные файлы в зависимости от компании код. пример: abc_COMCODE_100.txt \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d KOKRS EL01 RLDNR M2 RRCTY 1 Компания Код 100 2007 финансовый год Версия PW3 Валюта USD 1 2 3 4 1 2 3 4 Б. А. Номер счета прибылей рейтинг кликов MRA январем-февралем ТК-КЛ A 93010000 1530 152 1429793 A 93010000 9999 403 0 0 0 A 93010000 9999 404 -142 A 93010000 9999 411 0 0 0 A 93010000 9999 465 214538 214538 6114330 A 93010000 9999 487 0 -207918 А 93010000 471 502 0 0 0 A 93010000 9999 502 0 0 0 abc_COMCODE_152.txt \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d KOKRS EL01 RLDNR M2 RRCTY 1 Компания Код 152 2007 финансовый год Версия PW3 Валюта GBP 1 2 3 4 1 2 3 4 Б. А. Номер счета прибылей рейтинг кликов MRA январем-февралем ТК-КЛ A 93010000 1200 152 0 0 0 A 93010000 9999 152 -57885 -16511 -537549 Просьба предложить мне, как его облили через Unix оболочки программы. Спасибо заранее!! |
|
|||||
|
Привет. Командная csplit был предназначен для этого: Код:
#!/usr/bin/env sh
# @(#) s1 Demonstrate context split, csplit.
set -o nounset
echo
debug=":"
debug="echo"
## Use local command version for the commands in this demonstration.
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version bash csplit
echo
# Remove debris files.
rm -f xx*
FILE=${1-data1}
csplit --keep-files -z $FILE "/Company Code/-1" {*}
echo
echo " Files created:"
ls xx*
SAMPLE=xx01
echo
echo " Sample $SAMPLE:"
cat -n $SAMPLE
exit 0
Производство: Код:
% ./s1
(Versions displayed with local utility "version")
GNU bash 2.05b.0
csplit (coreutils) 5.2.1
1
379
218
81
Files created:
xx00 xx01 xx02 xx03
Sample xx01:
1 KOKRS EL01 RLDNR M2 RRCTY 1
2 Company Code 100
3 Fiscal Year 2007
4 Version PW3
5 Currency USD
6 1 2 3 4
7 1 2 3 4
8 BA Account number Profit Ctr MRA Jan-TC Feb-TC
9 A 93010000 1530 152 1429793
10 A 93010000 9999 403 0 0 0
11 A 93010000 9999 404 -142
12 A 93010000 9999 411 0 0 0
13 A 93010000 9999 465 214538 214538 6114330
14 A 93010000 9999 487 0 -207918
15 A 93010000 471 502 0 0 0
16 A 93010000 9999 502 0 0 0
17
Видеть Человек csplit подробнее ... Cheers, ДХО |
|
|||||
|
Привет, vgersh99.
Цитата:
Я пробовал его на FreeBSD 4.11 система, и она имеет только один анемичный раскалывать с шаблон соответствия добавлен, но не csplit (и не существовать на OS X). Определенный артикль GNUуже варианты, как правило, может быть заменен одним тире вариантов. Она будет принимать другой процесс извлечения строки, чтобы имя файла, но это хорошее упражнение для ОП ... Cheers, ДХО |
|
||||
|
Привет друзья!
Спасибо за вашу помощь. Я новичок в Unix. Я работаю в KSH и csh. Сейчас youuplease может объяснить, как выполнять это. abc.txt мое имя файла. ДХО выглядит ваше решение будет в порядке. но я не смог выполнить его. |
|
|||||
|
Еще один: Код:
awk 'FNR == 1 {
pfx = substr(FILENAME, 1, 3) "_COMCODE_"
}
/^KOKRS/ {
fn = 0
}
/^Company Code/ {
close(fn)
fn = pfx $3 ".txt"
$0 = prev RS $0
}
fn {
print > fn
}
{
prev = $0
}' abc.txt
Использование nawk на Solaris. С некоторыми Awk реализаций (как XPG Awk по Solairs), Вы должны быть более четко: Код:
awk 'FNR == 1 {
pfx = substr(FILENAME, 1, 3) "_COMCODE_"
}
/^KOKRS/ {
fn = 0
}
/^Company Code/ {
close(fn)
fn = pfx $3 ".txt"
$0 = prev RS $0
}
fn != 0 {
print > fn
}
{
prev = $0
}' abc.txt
PS vgersh99 в префикс делает больший смысл, конечно. Последний раз редактировалось radoulov; на 11-20-2007 06:38 PM.. Причина: PS |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|