The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
неотложной помощи: хочу, чтобы проверить данные в Oracle из flate файл unknown123 Shell программирование и сценарии 3 05-18-2009 05:36 PM
Как конвертировать результат в выборе запроса для запятую данных - срочный PLS Hemamalini Shell программирование и сценарии 1 06-16-2008 04:27 AM
форматирования жесткого диска (очистка) Jamiee SUN Solaris 0 06-12-2008 07:48 AM
Помощь замены или очистки Unicode символы roninuta Shell программирование и сценарии 3 01-21-2008 11:39 AM
[срочно нужна помощь] сравнить данные Bucci Shell программирование и сценарии 2 02-27-2007 11:27 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 05-26-2009
padhu.47 padhu.47 is offline
Зарегистрированный пользователь
  
 

Регистрация: Apr 2008
Сообщений: 4
Post СРОЧНО: - Данные скрубберной очистки

Привет Все,

У меня есть Flatfile (любая делимитация) миллионов строк данных, в которой я scrubb данные строки из позиции ($ 1), которые были даны во входных параметров до тех пор, пока длина ($ 2) в входных параметров. Я использованы AWK, SED но я не в состоянии это сделать.

скраб ключа - 12345 должно быть заменено 67890
например: 01289 - до очистки
06789 - после очистки


Например: sample.ksh 6 4



Ввод - Flatfile:
-------
"1234,5678, 0987,12345667,000000976655, +1234,013994878356 "
"0987,23467,11243554,0000887651,1234567,09876,1234455 "
"0987675,1223443,797784784784,09866545, +232322,097865 "

Я хочу, чтобы в качестве выходного файла шероховатый как ниже:

"1234,0678, 0987,12345667,000000976655, +1234,013994878356 "
"0987,78967,11243554,0000887651,1234567,09876,1234455 "
"0987675,6778443,797784784784,09866545, +232322,097865 "
Old 05-26-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Сообщения: 2517
Если у вас есть Python
Код:
#!/usr/bin/env python
import string
FROM="12345"
TO="67890"
table=string.maketrans(FROM,TO)
for line in open("file"):
    line=line.strip().split(",")
    line[1]=line[1][:4].translate(table) + ''.join(line[1][4:])
    print ','.join(line)
производства
Код:
# python test.py
"1234,0678,0987,12345667,000000976655,+1234,013994878356"
"0987,78967,11243554,0000887651,1234567,09876,1234455"
"0987675,6778443,797784784784,09866545,+232322,097865"
Old 05-26-2009
summer_cherry summer_cherry is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2007
Месторасположение: Пекин Китай
Сообщения: 1079
Код:
sub scrub{
	my($pos,$len)=(@_);
	while(<DATA>){
		substr($_,$pos-1,$len) =~ y/12345/67890/;
		print $_;
	}
}
scrub(6,3);
__DATA__
1234,5678,0987,12345667,000000976655,+1234,013994878356
0987,23467,11243554,0000887651,1234567,09876,1234455
0987,1223443,797784784784,09866545,+232322,097865
Old 05-26-2009
padhu.47 padhu.47 is offline
Зарегистрированный пользователь
  
 

Регистрация: Apr 2008
Сообщений: 4
СРОЧНО: - очистка данных

Все Привет, спасибо за ответ ....
I DONT имеют Python или Perl ....
Я только KSH, Bash, SH, csh

Пожалуйста, помогите мне
Old 05-26-2009
Neo's Avatar
Neo Neo is online now Forum Staff  
Администратор
  
 

Регистрация: Sep 2000
Место проведения: Азиатско-Тихоокеанский регион
Сообщения: 6672
Цитата:
Первоначально Послано padhu.47 View Post
Все Привет, спасибо за ответ ....
I DONT имеют Python или Perl ....
Я только KSH, Bash, SH, csh

Пожалуйста, помогите мне
Лучше установить PERL или Python. Она бесплатная и простая в установке.
Old 05-26-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Сообщения: 2517
Цитата:
Первоначально Послано padhu.47 View Post
Все Привет, спасибо за ответ ....
I DONT имеют Python или Perl ....
Я только KSH, Bash, SH, csh

Пожалуйста, помогите мне
затем использовать AWK
Код:
awk -F"," 'BEGIN{
 t["1"]="6"
 t["2"]="7"
 t["3"]="8"
 t["4"]="9"
 t["5"]="0" 
}
{
 s=""
 for(i=1;i<=4;i++){
  if( substr($2,i,1) in t ){
     s=s t[substr($2,i,1)]
  }else{
     s=s substr($2,i,1)
  }   
 }
 $2=s substr($2,5)
}
1
' OFS="," file
Old 05-27-2009
padhu.47 padhu.47 is offline
Зарегистрированный пользователь
  
 

Регистрация: Apr 2008
Сообщений: 4
СРОЧНО: - Данные скрубберной очистки

вышеуказанный код не работает .....
Пожалуйста, помогите мне в письменном виде этот код в KSH, CSH, SH ....

----- ----- Обновление темы

Привет, ребята,

Я написал AWK прог ... а ниже, как это сделать. но делать все номера внутри Flatfile.

Код #:
#! / USR / BIN / AWK-F
BEGIN (
CnvFrom \u003d "0123456789";
CnvTo \u003d "4590382617";

Поле \u003d 1;
)
(
newField \u003d ""
для (i \u003d 1; I <\u003d длина ($ полевой); I + +) (
символ \u003d substr ($ Полевая, I, 1);
если (POS \u003d индекс (CnvFrom, символ))
символ \u003d substr (CnvTo, POS, 1)
newField \u003d newField символ
)
Поле $ \u003d newField
Версия для печати
)


Но мое требование состоит в том, чтобы изменить / перевести значения из позиции (входной параметр - $ 2) и длину (входной параметр - $ 3) для Flatfile, упомянутых в каталоге (входной параметр - $ 1). Пожалуйста, помогите мне ....

например: scrub.ksh file1 68 9 ($ 1 - имя файла, $ 2-postion (68), $ 3 - lenth от позиций (9))

Перед скраб-file1:
---------------------
"37713000000", "12000000202", "0000000000000000000007102", "0000377310013683931", 20090114,20080301,20080331,20060304, +000000000005897".
"37713000000", "12000000202", "0000000000000000000007102", "0000377310013683931", 20090114,20080301,20080331,20060304, +000000000005897".
"37713000000", "12000000202", "0000000000000000000010739", "0000377310044493243", 20090114,20080501,20080531,20070224, +000000000000000".
"37713000000", "12000000202", "0000000000000000000010739", "0000377311018365607", 20090114,20080401,20080430,20070224"


После скраб-file1:
-----------------

"37713000000", "12000000202", "0000000000000000000007102", "0000377310450210705", 20090114,20080301,20080331,20060304, +000000000005897".
"37713000000", "12000000202", "0000000000000000000007102", "0000377310450210705", 20090114,20080301,20080331,20060304, +000000000005897".
"37713000000", "12000000202", "0000000000000000000010739", "0000377310433370930", 20090114,20080501,20080531,20070224, +000000000000000".
"37713000000", "12000000202", "0000000000000000000010739", "0000377311451028246", 20090114,20080401,20080430,20070224"

Пожалуйста, помогите мне ..... Я хочу, скраб, как на входных параметров .....
Пожалуйста, помогите ....

Последний раз редактировалось padhu.47; на 05-27-2009 04:43 AM..
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 07:44 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0