Portál AbcLinuxu, 10. května 2025 06:23

Dotaz: Bash skript - vypis sloupcu do radku

31.10.2006 13:51 Honza
Bash skript - vypis sloupcu do radku
Přečteno: 507×
Odpovědět | Admin
Zdravim,

chtel bych poradit jak udelam, aby vypis:

VYPIS=`cat -n SOUBOR | grep -i neco | awk '{print $1}'`

z toho prikazu nebyl ve sloupci, ale v radku. Tedy mam ted tohle:

echo $VYPIS:

10

11

25

a chtel bych echo $VYPIS: 10 11 25, tedy nejlepe jeste cisla oddelene carkou.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.10.2006 14:18 five | skóre: 6 | Bratislava
Rozbalit Rozbalit vše Re: Bash skript - vypis sloupcu do radku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, no vysledky vypisu sa daju ulozit do pola a potom to mozes pritnovat ako chces: IFS=' ';

array=(`cat -n SOUBOR | grep -i neco | awk '{print $1}'`);
31.10.2006 14:56 jooke | skóre: 9 | Opava
Rozbalit Rozbalit vše Re: Bash skript - vypis sloupcu do radku
Moc diky za radu, ale nemohl bys mi pomoci s tim IFS, nejak tomu nerozumim :-(
31.10.2006 16:00 Honza
Rozbalit Rozbalit vše Re: Bash skript - vypis sloupcu do radku
Uz jsem to udelal takhle:

IFS=' ';

array=(`cat -n soubor | grep -i neco | awk '{print $1}'`)

IFS=$'\n'

echo $array;

Vysledek: 1 5 6 8 ... Funguje to skvele, oddeli to cisla na jednom radku, akorad to oddeluje mezerou a ja bych tam chtel strednik, nebo carku. A nevim jak na to :-(
31.10.2006 16:19 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Bash skript - vypis sloupcu do radku
IFS s tým nič nemá:
bash-3.1$ array=`cat - `
joe
bob
sue
bash-3.1$ echo $array
joe bob sue
Daj si povedať a použi tr a nahraď znak novy riadok za znak medzera.
31.10.2006 16:43 five | skóre: 6 | Bratislava
Rozbalit Rozbalit vše Re: Bash skript - vypis sloupcu do radku
IFS je internal field separator, teda to co ti ma oddelovat prvky pola

vypisat pole podla tvojich predstav moze napr

for prvok in "${array[@]}"; do echo "$prvok tvoja predstava ;0)" done

ale prispevky ostatnych naznacuju, ze sed, tr by tiez nemusel byt zle
31.10.2006 14:20 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Bash skript - vypis sloupcu do radku
Odpovědět | | Sbalit | Link | Blokovat | Admin
man tr(1)
31.10.2006 16:02 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Bash skript - vypis sloupcu do radku
Odpovědět | | Sbalit | Link | Blokovat | Admin
VYPIS=`sed -nr '/neco/s/([[:space:]]*[^[:space:]]+)[[:space:]].*/\1/p' SOUBOR`
If you hold a Unix shell up to your ear, you can you hear the C.
31.10.2006 16:09 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Bash skript - vypis sloupcu do radku
mala chybka, malo by hladat iba na zaciatku riadku a bez medzier
VYPIS=`sed -nr '/neco/s/^[[:space:]]*([^[:space:]]+)[[:space:]].*/\1 /p' SOUBOR`
If you hold a Unix shell up to your ear, you can you hear the C.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.