Questione : Analizzare la lima del jil dei autosys using gli attrezzi di Unix

0.Still che prova ad ottenere la risposta al href= " http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Q_26137365.html " del
ware/Office_Productivity/Office_Suites/MS_Office/Q_26137365.html
Now del e.com/Soft di http://www.experts-exchang sto adottando Unix puro o appena il metodo di EXCEL, necessità del
I di imperniare basicamente tutte le file nelle colonne con i titoli quando il nome di colonna è prima “: „ ad ogni linea
1.How posso la faccio con gli attrezzi di Unix: Perl/sed/ksh/awk? il
2.How può io la fa con la macro di Excel? la struttura del


The della lima di Jil è come questa:
/* ----------------- backupJIL ----------------- */

insert_job: job_type del backupJIL:
command di c: autorep - J TUTTO - q > _jil_bk
machine di /home/autosys/...p/autosys: machine
owner: autosys@machine
permission: gx, GE, wx, we
date_conditions: 1
days_of_week: il tu, noi, Th, franco, sa
start_times: “17: 00 "
description: “Sostegno quotidiano
std_out_file di definizioni di lavoro ": t
std_err_file di /tmp/autosys_jil_backup.ou: r
alarm_if_fail di /tmp/autosys_jil_backup.er: 1
/* ----------------- BC_mount ----------------- */insert_job del

: Job_type di BC_mount: box_name del
di c: Ordine di SAN_test_refresh_box
: macchina del .sh
di /sysadm/xp/bin/mountprodbc: proprietario del b_dexter
: autosys@/* ----------------- BC_mount ----------------- */insert_job del

: Job_type di BC_mount: box_name del
di c: Ordine di S.fresh_box
: macchina del
di /sysadm/xp/bin..odbc.sh: proprietario del machine
: permesso del autosys@machine
: gx, stato del wx
: descrizione del
di successo (Check_BC_Status): “Montare il BCs
sulla macchina " std_out_file: >/var/tmp/mountprodbc.log
std_err_file: alarm_if_fail di >/var/tmp/mountprodbc.err
: 1
 

class= del

Risposta : Analizzare la lima del jil dei autosys using gli attrezzi di Unix

Ho fatto una simile operazione in Excel ed ha coinvolto i seguenti punti di base.

  • Convincere gli utenti ad immettere su dove le lime sono individuate. 
  • Richiamare una lista completa delle lime che devono essere procedate. 
  • Per ogni lima: 
    • Aprire la lima come lima di testo delimitata using Workbooks.OpenText (tutte le vostre file entrano basicamente in colonna A 
    • Inserire le formule nelle colonne nel libro di esercizi aperto (B, C e D nel mio caso) per analizzare ogni linea nei dati richiesti 
    • Copiare i dati analizzati in una tabella di dati da rivedere nel libro di esercizi sommario (una fila per lima ovviamente) 
    • Chiudere lo schedario di dati grezzo come più non è necessario 
  • Lima seguente 

Usare basicamente il potere di Excel di aprire ogni lima, analizzarlo, quindi copiare i risultati nel vostro strato sommario che trasforma le file nelle colonne come agite in tal modo. Inoltre ho mantenuto una colonna con il nome di schedario nascente come componente della tabella ricapitolativa. Non posso attaccare un esempio poiché contiene l'Info personale della gente ma il codice dovrebbe dargli un'idea.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
Opzione esplicita

sFolder pubblico come stringa
sFilename pubblico () come stringa
NFiles pubblico come numero intero

GetFileList secondario ()
varFileList fioco come variante
Oscurare la i come numero intero

    “Ottenere l'indice dall'utente„
    Con Application.FileDialog (msoFileDialogFolderPicker)
        . Esposizione
        Se .SelectedItems.Count = 0 allora escono il sommergibile “utente annullato„
        sFolder = .SelectedItems (1)
    Estremità con
    
    “Ottenere una lista di tutte le lime in questo indice.„
    “Notare che questo non è ricorsivo… anche se potrebbe essere…„
    varFileList = GetFileNames (sFolder, “*.txt„)
    
    Se non IsArray (varFileList) allora
        MsgBox “nessun lime trovate. „, vbInformation
        Uscire il sommergibile
    Concluder se
    
    “Installare l'allineamento di nome di schedario basato sull'indice selezionato„
    NFiles = UBound (varFileList) + 1
    sFilename di ReDim (1 a NFiles)
    
    “Copiare i nomi di schedario in un allineamento della stringa per uso altrove„
    Per i = 0 a UBound (varFileList)
        sFilename (i + 1) = CStr (varFileList (i))
    Dopo i
    
    OutputFilenames2XL
    ImportFileContent
Sommergibile dell'estremità


Funzione riservata GetFileNames (sPath di ByVal come stringa, sFilter facoltativo come stringa) come variante
“   Restituisce un allineamento unidimensionale con i nomi di schedario„
“   Restituisce al contrario falso„

F fioca come stringa
Oscurare la i come numero intero
Oscurare FileList () come stringa

    Se sFilter = sFilter del "" allora = “*.*„

    Selezionare il caso Right$ (sPath, 1)
      Mettere “\„, “/„
         sPath = Left$ (sPath, Len (sPath) - 1)
    Estremità prescelta

    Conserva FileList (0) di ReDim

    f = Dir$ (sPath & “\„ & sFilter)
    Fare mentre Len (f) > 0
        Conserva FileList di ReDim (i) come stringa
        FileList (i) = f
        i = i + 1
        f = Dir$ ()
    Ciclo
    
    Se FileList (0) <> allora svuota
        GetFileNames = FileList
    Altrimenti
        GetFileNames = falso
    Concluder se    
Concludere la funzione


Sommergibile riservato OutputFilenames2XL ()
iBaseRow fioco come numero intero, iBaseCol come numero intero
shTarget fioco come manuale
Oscurare la i come numero intero

    Regolare lo shTarget = Application.ActiveSheet
    iBaseRow = gamma (“BaseCell„). Fila
    iBaseCol = gamma (“BaseCell„). Colonna

    “Popolare i campi di intestazione„
    shTarget.Range (“ImportDate„). Valore = ora
    shTarget.Range (“FolderPath„). Valore = sFolder
    shTarget.Range (“NFiles„) = NFiles
    
    “Popolare la colonna di nome di schedario della tabella„
    Per i = 1 a NFiles
        shTarget.Cells (iBaseRow + i - 1, iBaseCol). Valore = sFilename (i)
    Dopo i

    “Mettere la formula per analizzare l'identificazione di transazione nella prima colonna„
    shTarget.Range (cellule (iBaseRow, iBaseCol - 1), cellule (iBaseRow + NFiles - 1, iBaseCol - 1)) .FormulaR1C1 = “=MID (R [0] C [1], LEN (R [0] C [1]) - 14.8)„
Sommergibile dell'estremità


ImportFileContent secondario riservato ()
Oscurare la i come numero intero, J come numero intero
Oscurare lo shTarget come manuale
Oscurare il iBaseRow come numero intero, iBaseCol come numero intero
Oscurare lo shSource come manuale
Oscurare il sActiveFilename come stringa
Oscurare lo sFullPath come stringa
Oscurare il iRowCount come numero intero
Oscurare il iTargetColumn come numero intero
Oscurare il rSourceRange come gamma

    “Dati bassi del deposito per il manuale che dell'obiettivo stiamo costruendo„
    Regolare lo shTarget = Application.ActiveSheet
    iBaseRow = gamma (“BaseCell„). Fila
    iBaseCol = gamma (“BaseCell„). Colonna
    
    
    “Ora procedare ogni nome di schedario importato appena al manuale„
    Application.ScreenUpdating = falso
    Application.WindowState = xlMinimized
    Application.Calculation = xlCalculationManual
    Application.Visible = falso
            
    “Barra di progresso di messa a punto„
    frmProgress del carico
    frmProgress.ProgressBar.Max = NFiles
    frmProgress.ProgressBar.Value = 0
    frmProgress.Show
    
    Per i = 1 a NFiles
        sActiveFilename = sFilename (i)
        sFullPath = sFolder & “\„ & sActiveFilename
        
        “Lima di testo delimitata importazione„
        Nome di schedario di Workbooks.OpenText: =sFullPath, _
        Origine: =437, StartRow: =1, DataType: =xlDelimited, TextQualifier: = _
        xlDoubleQuote, ConsecutiveDelimiter: =False, linguetta: =True, punto e virgola: =False, _
        Virgola: =False, spazio: =False, altro: =False, FieldInfo: =Array (1, 1), _
        TrailingMinusNumbers: =True
        
        “Immagazzinare il nome dello strato e la disposizione/aggiunge le formule richieste„
        Regolare lo shSource = Application.ActiveSheet
        iRowCount = Application.WorksheetFunction.CountA (colonne (“A: „))
        shSource.Range (cellule (1, 2), cellule (iRowCount, 2)) .FormulaR1C1 = “=FIND ("": "", R [0] C [- 1])„
        shSource.Range (cellule (1, 3), cellule (iRowCount, 3)) .FormulaR1C1 = “=IF (LASCIATO (R [0] C [- 2], "" di commento del "" 7)=, 61, VALORE (METÀ DI (R [0] C [- 2], 2, R [0] C [- 1] - 2)))„
        shSource.Range (cellule (1, 4), cellule (iRowCount, 4)) .FormulaR1C1 = “=RIGHT (R [0] C [- 3], LEN (R [0] C [- 3]) - R [0] C [- 2] - 1)„

        “Assicurar che le cellule siano aggiornate con i dati correnti (stati necessari soltanto se il calcolo è fissato al manuale)„
        shSource.Calculate
        
        “Ora copiano i dati analizzati risultanti nelle cellule corrette sul manuale dell'obiettivo„
        Per J = 1 a iRowCount
            iTargetColumn = CInt (shSource.Cells (J, 3).Value)
            Regolare il rSourceRange = shSource.Cells (J, 4)
            shTarget.Cells (iBaseRow + i - 1, iBaseCol + iTargetColumn). Valore = rSourceRange.Value
        J seguente
        
        “Infine fine la lima del libro di esercizi di fonte poiché siamo rifiniti con esso„
        Libri di esercizi (sActiveFilename). SaveChanges vicino: =False
        
        frmProgress.ProgressBar.Value = i
        frmProgress.Repaint
        
    Dopo i
    
    shTarget.Columns (“C: BK„) .EntireColumn.AutoFit
    
    frmProgress.Hide
    Application.Calculation = xlCalculationAutomatic
    Application.Calculate
    Application.ScreenUpdating = allineano
    Application.WindowState = xlMaximized
    Application.Visible = allineano
Sommergibile dell'estremità
Altre soluzioni  
 
programming4us programming4us