Portál AbcLinuxu, 8. listopadu 2025 14:56
ls -l | awk 'BEGIN { OFS=";"} {print}'
Mi hodi rovnaky vystup ako bez awk. Skusal som to na 2 roznych systemoch.ls -l | awk 'BEGIN {OFS=";"} {print $1,$2,$3}'Marek
ls -l | awk 'BEGIN {OFS=";"} {$1=$1;print}'
Staci nieco s jednym z fieldov spravit a uz sa uplatni OFS na cely vystup.
ls -l | awk 'BEGIN { OFS=";"} {print}'
V tomto pripade je vystupom tiez len opis vstupu, ale riadok je uz "rebuildnuty" kvoli $1=$1:
ls -l | awk 'BEGIN { OFS=";"} { $1=$1; print}'
$1 = $1 # force record to be reconstituted
print $0 # or whatever else with $0
print není totéž co print $0. Ten středník se ti objeví teprve až dáš za to další položku. Takhle:
ls -l | awk 'BEGIN { OFS=";"} {print $0,""}'
Ještě jednou opakuji - OFS je oddělovač položek. Protože jinak máš pouze jednu položku a hned konec řádku, tak nemá co oddělovat. Vloží se ti teprve když přidáš další položku - byť prázdnou.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.