![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Hur man ändra område SEPERATOR | onthetopo | Shell-programmering och Skript | 2 | 05-11-2007 01:11 |
| Använda | som SEPERATOR i går | firvin | UNIX for Dummies Frågor & Svar | 5 | 03-28-2006 12:23 |
| Comma SEPERATOR | premar | Shell-programmering och Skript | 6 | 02-17-2006 04:16 |
| hur kan jag använda ett ord för SEPERATOR | qrshat | Sun Solaris | 3 | 02-10-2006 07:08 |
| Awk Field SEPERATOR Hjälp | insania | Shell-programmering och Skript | 3 | 11-11-2005 04:29 |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
#1 (permalänk)
|
||||
|
||||
|
SUBSEP SEPERATOR problem med awk
Följande kod tar bort ny rad i citationstecken Jag ersätter newline karaktär i citationstecken med 123. Kod:
intermediatenewline_remover () {
typeset Infile=$1
nawk -F"," '{ record = record $0
if ( gsub( /"/, "&", record ) % 2 )
{
record = record "123"
next
}
}
{
print record
record = ""
}' Infile
}
Här är jag kombinerar 4 och 5 gäller med "123" som SEPERATOR Kod:
nawk -F"|" '{print $2,$3,$4"123"$5}' OFS="|" file
Byta kommaavgränsad och SEPERATOR "123" med utrymme. Problemet här är om uppgifterna har "123" som också kommer att bytas ut mot rymden. Jag vill bara "123" SEPERATOR som skall ersättas. Kod:
nawk -F"|" '{gsub(",", " ",$3);gsub("123", " ",$3);print}' OFS="|" file
Jag försökte använda SUBSEP Denna kod i stället för att använda värde för SUBSEP "\ 034" sin infoga "SUBSEP" Kod:
intermediatenewline_remover () {
typeset Infile=$1
nawk -F"," '{ record = record $0
if ( gsub( /"/, "&", record ) % 2 )
{
record = record "SUBSEP"
next
}
}
{
print record
record = ""
}' Infile
}
och hur man ska hantera denna förändring i detta nummer Kod:
nawk -F"|" '{print $2,$3,$4"123"$5}' OFS="|" file
nawk -F"|" '{gsub(",", " ",$3);gsub("123", " ",$3);print}' OFS="|" file
|