Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [opgelost] Bash: titels onderbrengen in een array  (gelezen 860 keer)

[opgelost] Bash: titels onderbrengen in een array
« Gepost op: 2013/10/14, 16:48:01 »
L.S.

In bash wil ik na de start van een script de titels van een aantal teksten in een array onderbrengen. Deze teksten staan in de directory Teksten. Ik doe als volgt:

teksten=[]
cd Teksten
ls -1 # dit print alle titels in een enkele kolom

Dan verschijnt keurig het rijtje teksten onder elkaar. Maar hoe krijg ik die titels in de geprinte volgorde in de array teksten[]. Ik heb alles geprobeerd maar kom er niet uit. Ook van de bash-fora ben ik niet veel wijzer geworden. Heeft iemand de oplossing?

Bvd
« Laatst bewerkt op: 2013/10/16, 15:38:09 door Nick Lamar »

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Bash: titels onderbrengen in een array
« Reactie #1 Gepost op: 2013/10/14, 19:02:38 »
Probeer deze opties eens:
http://stackoverflow.com/a/10981499
http://stackoverflow.com/a/15582061

shopt -s nullglob
cd Teksten
teksten=( * )

Re: Bash: titels onderbrengen in een array
« Reactie #2 Gepost op: 2013/10/15, 10:13:18 »
Dank voor de opties. Ga ik vandaag proberen.

Re: Bash: titels onderbrengen in een array
« Reactie #3 Gepost op: 2013/10/16, 15:34:44 »
Gelukt!
teksten=[]
teksten=("Teksten"/*)
teksten=("${teksten
  • ##*/}")

l=${#teksten
  • }

for (( i=0;  i<$l; i++)); do
     printf "\n${teksten[$i]}
done

Dank voor de verwijzing.

Re: Bash: titels onderbrengen in een array
« Reactie #4 Gepost op: 2013/10/16, 15:37:25 »
Hier ging iets fout, dus nogmaals.

Gelukt!
teksten=[]
teksten=("Teksten"/*)
teksten=("${teksten##*/}")
l=${#teksten[@}

for (( i=0;  i<$l; i++)); do
     printf "\n${teksten[$i]}
done

Dank voor de verwijzing.

Re: [opgelost] Bash: titels onderbrengen in een array
« Reactie #5 Gepost op: 2013/10/16, 15:48:56 »
Kleine stijltip voor het forum, plaats code tussen code tags [ code ]codehier[ / code ] (zonder de spaties) dan is het sowieso duidelijker om te lezen.