Portál AbcLinuxu, 15. prosince 2025 23:25
)
Magicka promenna=FS{BEGIN {FS='[;,:~]*[\t ]'} #awk -F '[",]? "?' ...nebo je odstraňovat pomocí gsub().
tr -d '"' < soubor.txt |awk ... # umaze uvozovky tr
2/ gsub(["], ""); ...tr -d '"' - to funguje - a zbavite se uvozovek
Ten gsub funguje taky - v pripade, ze nemate tr (v Linuxu jsou to u mne/gentoo coreutil)
V cem je problem ?
CMD_kde_odstranim[",; \t] <Z_INPUT_SOUBORU | awk ... |
V pripade, ze NEZALEZI na obsahu $1, ty znaky (+mezera) bych nahradil \n - kazda polozka = samostatny radek
A asi bych to nedelal v awk, jedna-li se o INSERT INTO... Vetsina jazyku toto zvlada. Ale priznam se, ze je stale malo informaci...
tr -d '",' | tr '[:space:]' '\n'přes
sed -e 'y/",//;s/ */\n/'až po
# super hyper parser for Mysak's file
sub parseMysaksFile (*&) {
my ($file, $whatToDo) = @_;
while (<$file>) {
chomp;
&$whatToDo($_) foreach (split qr{["',;]*\s+["']*});
}
}
# how to use super hyper parser
{
local $\=$/;
parseMysaksFile DATA, sub {print @_};
}
__END__
Pavel Jindra "Zuzana", "Michal", Tomas
Rosta Ondrej "Robert", "Radim", Honza Pavel
Martin Sofie "Daniel", "Dominik", Erik Klement Vladislav Vladimir
tr -d '",' < soubor.txt| awk '{ print "insert into test(prvni,druhy) values(\"" $4 "\",\"" $5 "\");" }' | mysql -u root -D test
A TAKE
awk '{
gsub(/[",]/, "");
print "insert into test(prvni,druhy) values(\"" $4 "\",\"" $5 "\");" }' | mysql -u root -D test
Stejne si myslim, ze lepsi reseni je pouzit nejaky jazyk a ty data tam pchat pomoci neho - Osetreni transakci
)
sed 's/\"//d'
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.