The UNIX and Linux Forums  

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
grep segítségével dátumformátumot ali560045 Shell programozás és Scripting 4 12-26-2007 08:59 AM
grep segítségével dátumformátumot ali560045 Shell programozás és Scripting 8 12-11-2007 06:39 PM
hogyan készítsen c + + code (c kód) végrehajtó saját protokoll formátuma amitpansuria Magas szintű Programozás 1 09-07-2007 12:09 AM
hogyan lehet formázni a grep parancs jasongr Shell programozás és Scripting 2 11-18-2005 02:07 PM
Hogyan formátumú szám / string a KSH GNMIKE Shell programozás és Scripting 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 Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 10-01-2008
krishna.fuji krishna.fuji is offline
Regisztrált felhasználó
  
 

Join Date: Oct 2008
Hozzászólások: 5
Thumbs up Grep, aztán format, majd elkészíti a string

Szia

Nekem van egy fájl, amely miután az alábbi sort

Személyes Unit \u003d AU003 (Industrial Products Division), Plant \u003d B00089, Departmant \u003d D110

Mikor valaha én finom vonal kezdő Sith Személyes egység, és nem tartalmaz Növény Tanszék Meg kell felvenni ezt a sort, és formázza úgy, mint a

Személyes Unit \u003d AU003
Plant \u003d B00089
Departmant \u003d D110
-> RAM: AU003: B00089110: rendszer időpontja: header a fájl

Régebben sed

sed -e '/ Personal Unit / (h, s /^/#/ p; x;)'-e '/ Business Unit / (s /, növény / \ nPlant / g'-e 's /, Departmant / \ nDepartmant / g ') FileName

De ez nem az én vélemény elküldéséhez minden szükséges
tud akármi egy legyen szíves javasol
  #2 (permalink)  
Old 10-02-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2007
Hozzászólások: 4.322
Az awk tudsz valami ilyesmit:
Kód:
awk -F, '/^Personal Unit=/&&/Plant/&&/Departmant/{sub("\(.*\)","")}{print $1 OFS $2 OFS $3}' OFS="\n" file
Üdvözlettel
  #3 (permalink)  
Old 10-02-2008
drl's Avatar
DRL drl is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Apr 2007
Hely: Saint-Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Posts: 712
Szia.

Meg kellett változtatni a sub mint igen, idézet a perjel:
Kód:
#!/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
Előállítása:
Kód:
% ./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
Regisztrált felhasználó
  
 

Join Date: Oct 2008
Hozzászólások: 5
-a nem a pontos teljesítmény amire számítottunk

Idézet:
Originally Posted by DRL View Post
Szia.

Meg kellett változtatni a sub mint igen, idézet a perjel:
Kód:
#!/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
Előállítása:
Kód:
% ./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


Szia Nekem van több sort ebben a forgatókönyvet. Amint finom a mondat azonnal azt, hogy visszatérjen az adott out put. több mint az alábbiakban említett extra vonal nem ad. Én nagyon hálás, ha ezt
  #5 (permalink)  
Old 10-03-2008
krishna.fuji krishna.fuji is offline
Regisztrált felhasználó
  
 

Join Date: Oct 2008
Hozzászólások: 5
Idézet:
Originally Posted by krishna.fuji View Post
Szia Nekem van több sort ebben a forgatókönyvet. Amint finom a mondat azonnal azt, hogy visszatérjen az adott out put. több mint az alábbiakban említett extra vonal nem ad. Én nagyon hálás, ha ezt

[Krisna-test newtrans @ ~] $ cat ram1
Személyes Unit \u003d US003 (Industrial Products Division), Plant \u003d B00089, Departmant \u003d D110
Ez az én saját
Személyes Unit \u003d US003 (Ipari / Products Division), Plant \u003d B00089, Departmant \u003d D110
Meg kell makfmkldfd a
Személyes Unit \u003d US004 (Consumer Products Div) Plant \u003d B00089, Departmant \u003d D1119
mdkmvckldmldm
Ez a néhány ötlet, ha szemét az adatok a fájlban
Személyes Unit \u003d US004 (Consumer Products Div), Plant \u003d B00078, Departmant \u003d D111
Személyes Unit \u003d US006 (Machinery Mfg Division), Plant \u003d B00089, Departmant \u003d D1188
Személyes Unit \u003d US007 (Ragasztók Division), Plant \u003d B00089, Departmant \u003d D110
Személyes Unit \u003d US009 (ragasztók Division)
Személyes Unit \u003d US010 (ragasztók Division)

[Krisna-test newtrans @ ~] $ sed -e '/ Personal Unit / (h, s /^/#/ p; x;)'-e '/ Personal Unit / (s /, növény / \ nPlant / g'-e 's /, Departmant / \ nDepartmant / g ') ram1
# Személyes Egység \u003d US003 (Industrial Products Division), Plant \u003d B00089, Departmant \u003d D110
Személyes Unit \u003d US003 (Industrial Products Division)
Plant \u003d B00089
Departmant \u003d D110
Ez az én saját
# Személyes Egység \u003d US003 (Ipari / Products Division), Plant \u003d B00089, Departmant \u003d D110
Személyes Unit \u003d US003 (Ipari / Products Division)
Plant \u003d B00089
Departmant \u003d D110
Meg kell makfmkldfd a
# Személyes Egység \u003d US004 (Consumer Products Div) Plant \u003d B00089, Departmant \u003d D1119
Személyes Unit \u003d US004 (Consumer Products Div) Plant \u003d B00089
Departmant \u003d D1119
mdkmvckldmldm
Ez a néhány ötlet, ha szemét az adatok a fájlban
# Személyes Egység \u003d US004 (Consumer Products Div), Plant \u003d B00078, Departmant \u003d D111
Személyes Unit \u003d US004 (Consumer Products Div)
Plant \u003d B00078
Departmant \u003d D111
# Személyes Egység \u003d US006 (Machinery Mfg Division), Plant \u003d B00089, Departmant \u003d D1188
Személyes Unit \u003d US006 (Machinery Mfg Division)
Plant \u003d B00089
Departmant \u003d D1188
# Személyes Egység \u003d US007 (Ragasztók Division), Plant \u003d B00089, Departmant \u003d D110
Személyes Unit \u003d US007 (ragasztók Division)
Plant \u003d B00089
Departmant \u003d D110
# Személyes Egység \u003d US009 (ragasztók Division)
Személyes Unit \u003d US009 (ragasztók Division)
# Személyes Egység \u003d US010 (ragasztók Division)
Személyes Unit \u003d US010 (ragasztók Division)
[Krisna-test newtrans @ ~] $

Along with this, ahol valaha én vagyok az osztó i sorában kell szerezniük a kombináció értékek
Mint
-> RAM: US007: B00089110: systendate: fileheader
Megállapítást
ahol én talál
Személyes Unit \u003d US007 (Ragasztók Division), Plant \u003d B00089, Departmant \u003d D110
azonnal következõ sorban kell
Személyes Unit \u003d US007 (Ragasztók Division), Plant \u003d B00089, Departmant \u003d D110
Személyes Unit \u003d US007 (ragasztók Division)
Plant \u003d B00089
Departmant \u003d D110

-> RAM: US007: B00089110: systendate: fileheader

és fontos ez a szkript csak érintse meg a vonalat, amelyek kombinációja, amelyek a személyes egység, Plant, a minisztérium egy sorban
Ha ezt nekem thanks a lot

Last edited by krishna.fuji; 10-03-2008 at 03:29 AM..
  #6 (permalink)  
Old 10-03-2008
danmero danmero is offline Forum Advisor  
  
 

Join Date: Nov 2007
Helyszín: 45,48-73,63
Hozzászólások: 1.432
Idézet:
Originally Posted by krishna.fuji View Post
és fontos ez a szkript csak érintse meg a vonalat, amelyek kombinációja, amelyek a személyes egység, Plant, a minisztérium egy sorban
Felejtsd el a szép színek, és használata kód tags Ha irányítószám vagy adat.
Kód:
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  
  
 

Join Date: Nov 2007
Helyszín: 45,48-73,63
Hozzászólások: 1.432
Awk egy másik megoldás.
Kód:
awk -F'[(|,|)]' '/^Personal/{printf "%s\n%s\n%s\n",$1,$4,$5}' file
Closed Thread

Könyvjelzõk

Címkék
Linux parancsok

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 12:05 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0