De volgende code verwijdert nieuwe lijn met dubbele aanhalingstekens
Ik vervang newline karakter met dubbele aanhalingstekens met 123.
Code:
intermediatenewline_remover () {
typeset Infile=$1
nawk -F"," '{ record = record $0
if ( gsub( /"/, "&", record ) % 2 )
{
record = record "123"
next
}
}
{
print record
record = ""
}' Infile
}
Hier ben ik het combineren van het 4e en 5e veld met "123" als seperator
Code:
nawk -F"|" '{print $2,$3,$4"123"$5}' OFS="|" file
Vervanging van Comma en seperator "123" met de ruimte.
Het probleem hier is indien de gegevens heeft "123", dat zal ook worden vervangen door de ruimte.
Ik wil alleen maar "123" seperator worden vervangen.
Code:
nawk -F"|" '{gsub(",", " ",$3);gsub("123", " ",$3);print}' OFS="|" file
Ik probeerde met behulp van SUBSEP
Deze code in plaats van waarde voor SUBSEP "\ 034" en de invoeging van "SUBSEP"
Code:
intermediatenewline_remover () {
typeset Infile=$1
nawk -F"," '{ record = record $0
if ( gsub( /"/, "&", record ) % 2 )
{
record = record "SUBSEP"
next
}
}
{
print record
record = ""
}' Infile
}
en hoe om te gaan met deze wijziging in deze code
Code:
nawk -F"|" '{print $2,$3,$4"123"$5}' OFS="|" file
nawk -F"|" '{gsub(",", " ",$3);gsub("123", " ",$3);print}' OFS="|" file