The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
grep utilizzando il formato della data ali560045 Shell scripting e di programmazione 4 12-26-2007 08:59 AM
grep utilizzando il formato della data ali560045 Shell scripting e di programmazione 8 12-11-2007 06:39 PM
come i preparare un codice C + + (codice C) per l'attuazione del mio protocollo formato amitpansuria Di programmazione ad alto livello 1 09-07-2007 12:09 AM
Come formattare un comando grep jasongr Shell scripting e di programmazione 2 11-18-2005 02:07 PM
Come formato numero / stringa in ksh GNMIKE Shell scripting e di programmazione 2 07-03-2005 04:44 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 Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 10-01-2008
krishna.fuji krishna.fuji is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2008
Interventi: 5
Thumbs up Grep, quindi formato poi preparare una stringa

Salve

Ho un file che sta avendo come linea al di sotto

Unità personali \u003d AU003 (Industrial Products Division), impianti \u003d B00089, Departmant \u003d D110

Quando mai i fine linea di partenza Sith Unità personali e contiene vegetali Dipartimento ho bisogno di scegliere questa linea e il formato come

Unità personali \u003d AU003
Pianta \u003d B00089
Departmant \u003d D110
-> RAM: AU003: B00089110: data di sistema: il file di intestazione

i utilizzata sed

sed -e '/ Unità personali / (; h; s /^/#/ p; x;)'-e '/ Business Unit / (s /, impianti / \ nPlant / g'-e 's /, Departmant / \ nDepartmant / g ') FileName

Ma non è il mio fullfilling tutti bisogno
si prega di uno può suggerire
  #2 (permalink)  
Old 10-02-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2007
Messaggi: 4.345
Con awk si può fare qualcosa di simile:

Codice:
awk -F, '/^Personal Unit=/&&/Plant/&&/Departmant/{sub("\(.*\)","")}{print $1 OFS $2 OFS $3}' OFS="\n" file

Saluti
  #3 (permalink)  
Old 10-02-2008
drl's Avatar
DRL drl is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: aprile 2007
Località: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Interventi: 717
Salve.

Ho dovuto cambiare il sub, così, da citare a barra:

Codice:
#!/usr/bin/env sh

# @(#) user1    Demonstrate 2-level parsing with awk.

#  ____
# /
# |   Infrastructure BEGIN

set -o nounset
echo

## The shebang using "env" line is designed for portability. For
#  higher security, use:
#
#  #!/bin/sh -

## Use local command version for the commands in this demonstration.

set +o nounset
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version "=o" $(_eat $0 $1) awk
set -o nounset

echo

FILE=${1-data1}
echo " Input file $FILE:"
cat $FILE

# Use nawk or /usr/xpg4/bin/awk on Solaris.

# |   Infrastructure END
# \
#  ---


echo
echo " Results from awk:"
awk -F, '
/^Personal Unit=/ && /Plant/ && /Departmant/ {sub(/\(.*\)/,"")}
        {print $1 OFS $2 OFS $3}
' OFS="\n" $FILE

exit 0

Produzione:

Codice:
% ./user1

(Versions displayed with local utility "version")
Linux 2.6.11-x1
GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
GNU Awk 3.1.4

 Input file data1:
Personal Unit=AU003 (Industrial Products Division),Plant=B00089,Departmant=D110

 Results from awk:
Personal Unit=AU003
Plant=B00089
Departmant=D110

cheers, DRL
  #4 (permalink)  
Old 10-03-2008
krishna.fuji krishna.fuji is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2008
Interventi: 5
la sua uscita non l'esatto quello che ci aspettavamo

Citazione:
Originalmente inviato da DRL View Post
Salve.

Ho dovuto cambiare il sub, così, da citare a barra:

Codice:
#!/usr/bin/env sh
 
# @(#) user1    Demonstrate 2-level parsing with awk.
 
#  ____
# /
# |   Infrastructure BEGIN
 
set -o nounset
echo
 
## The shebang using "env" line is designed for portability. For
#  higher security, use:
#
#  #!/bin/sh -
 
## Use local command version for the commands in this demonstration.
 
set +o nounset
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version "=o" $(_eat $0 $1) awk
set -o nounset
 
echo
 
FILE=${1-data1}
echo " Input file $FILE:"
cat $FILE
 
# Use nawk or /usr/xpg4/bin/awk on Solaris.
 
# |   Infrastructure END
# \
#  ---
 
 
echo
echo " Results from awk:"
awk -F, '
/^Personal Unit=/ && /Plant/ && /Departmant/ {sub(/\(.*\)/,"")}
        {print $1 OFS $2 OFS $3}
' OFS="\n" $FILE
 
exit 0

Produzione:

Codice:
% ./user1
 
(Versions displayed with local utility "version")
Linux 2.6.11-x1
GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
GNU Awk 3.1.4
 
 Input file data1:
Personal Unit=AU003 (Industrial Products Division),Plant=B00089,Departmant=D110
 
 Results from awk:
Personal Unit=AU003
Plant=B00089
Departmant=D110

cheers, DRL


Ciao ho più righe in questo script. Non appena la bella frase che ha subito il ritorno del dato di fatto. più oltre la linea di extra di cui qui di seguito non è dare. Sarò molto grato se farlo
  #5 (permalink)  
Old 10-03-2008
krishna.fuji krishna.fuji is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2008
Interventi: 5
Citazione:
Originalmente inviato da krishna.fuji View Post
Ciao ho più righe in questo script. Non appena la bella frase che ha subito il ritorno del dato di fatto. più oltre la linea di extra di cui qui di seguito non è dare. Sarò molto grato se farlo

[Krishna @ newtrans-test ~] $ cat ram1
Unità personali \u003d US003 (Industrial Products Division), impianti \u003d B00089, Departmant \u003d D110
Questo è il mio
Unità personali \u003d US003 (Industrial / Products Division), impianti \u003d B00089, Departmant \u003d D110
Abbiamo bisogno di makfmkldfd
Unità personali \u003d US004 (Divisione Consumer Products) Plant \u003d B00089, Departmant \u003d D1119
mdkmvckldmldm
Si tratta di un'idea, quando indesiderata di dati nel file
Unità personali \u003d US004 (Divisione Consumer Products), impianti \u003d B00078, Departmant \u003d D111
Unità personali \u003d US006 (Macchine Mfg Division), impianti \u003d B00089, Departmant \u003d D1188
Unità personali \u003d US007 (Divisione Adesivi), impianti \u003d B00089, Departmant \u003d D110
Unità personali \u003d US009 (Divisione Adesivi)
Unità personali \u003d US010 (Divisione Adesivi)

[Krishna @ newtrans-test ~] $ sed -e '/ Unità personali / (; h; s /^/#/ p; x;)'-e '/ Unità personali / (s /, impianti / \ nPlant / g'-e 's /, Departmant / \ nDepartmant / g ') ram1
# Personali Unità \u003d US003 (Industrial Products Division), impianti \u003d B00089, Departmant \u003d D110
Unità personali \u003d US003 (Industrial Products Division)
Pianta \u003d B00089
Departmant \u003d D110
Questo è il mio
# Personali Unità \u003d US003 (Industrial / Products Division), impianti \u003d B00089, Departmant \u003d D110
Unità personali \u003d US003 (Industrial / Products Division)
Pianta \u003d B00089
Departmant \u003d D110
Abbiamo bisogno di makfmkldfd
# Personali Unità \u003d US004 (Divisione Consumer Products) Plant \u003d B00089, Departmant \u003d D1119
Unità personali \u003d US004 (Divisione Consumer Products) Plant \u003d B00089
Departmant \u003d D1119
mdkmvckldmldm
Si tratta di un'idea, quando indesiderata di dati nel file
# Personali Unità \u003d US004 (Divisione Consumer Products), impianti \u003d B00078, Departmant \u003d D111
Unità personali \u003d US004 (Divisione Consumer Products)
Pianta \u003d B00078
Departmant \u003d D111
# Personali Unità \u003d US006 (Macchine Mfg Division), impianti \u003d B00089, Departmant \u003d D1188
Unità personali \u003d US006 (Macchine Mfg Division)
Pianta \u003d B00089
Departmant \u003d D1188
# Personali Unità \u003d US007 (Divisione Adesivi), impianti \u003d B00089, Departmant \u003d D110
Unità personali \u003d US007 (Divisione Adesivi)
Pianta \u003d B00089
Departmant \u003d D110
# Personali Unità \u003d US009 (Divisione Adesivi)
Unità personali \u003d US009 (Divisione Adesivi)
# Personali Unità \u003d US010 (Divisione Adesivi)
Unità personali \u003d US010 (Divisione Adesivi)
[Krishna @ newtrans-test ~] $

Oltre a questo in cui sono sempre i scissione riga che mi serve per ottenere la combinazione di valori
Piacere
-> RAM: US007: B00089110: systendate: fileheader
Conclusione è
dove trovare i
Unità personali \u003d US007 (Divisione Adesivi), impianti \u003d B00089, Departmant \u003d D110
immediatamente successiva deve essere
Unità personali \u003d US007 (Divisione Adesivi), impianti \u003d B00089, Departmant \u003d D110
Unità personali \u003d US007 (Divisione Adesivi)
Pianta \u003d B00089
Departmant \u003d D110

-> RAM: US007: B00089110: systendate: fileheader

ed è importante questo script dovrebbe toccare solo la linea che hanno combinazione di unità di personale, impianti, Dipartimento di una sola riga
Se si riesce a fare questo per me, thanks a lot

Ultimo a cura di krishna.fuji; al 10/03/2008 03:29 AM..
  #6 (permalink)  
Old 10-03-2008
danmero danmero is offline Forum Advisor  
  
 

Iscriviti Data: novembre 2007
Ubicazione: 45,48-73,63
Messaggi: 1.441
Citazione:
Originalmente inviato da krishna.fuji View Post
ed è importante questo script dovrebbe toccare solo la linea che hanno combinazione di unità di personale, impianti, Dipartimento di una sola riga
Dimenticate fantasia di colori, e l'uso codice tag quando il codice di avviamento postale o dati.

Codice:
awk -F, '{if(/Personal Unit/&&/Plant/&&/Departmant/){printf "# %s\n%s\n%s\n%s\n",$0,$1,$2,$3}else{print}}' file

  #7 (permalink)  
Old 10-02-2008
danmero danmero is offline Forum Advisor  
  
 

Iscriviti Data: novembre 2007
Ubicazione: 45,48-73,63
Messaggi: 1.441
Un'altra soluzione awk.

Codice:
awk -F'[(|,|)]' '/^Personal/{printf "%s\n%s\n%s\n",$1,$4,$5}' file

Closed Thread

Segnalibri

Tag
linux comandi

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 08:52 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0