[bash] bestandsgrootten / sorteren

Pagina: 1
Acties:

  • Oen
  • Registratie: September 2000
  • Laatst online: 03-12-2025

Oen

plak bakbloedworst

Topicstarter
ben bezig met het maken van een script waarmee je bestanden kunt tonen aan
de hand van een variabele grootte

in de shell moet je aangeven: overzicht kort <bestandsgrootte>

ik heb dit (versimpeld naar 1 mogelijkheid);


ARG1=$1
ARG2=$2

case $ARG1 in
kort ) echo een kort overzicht
ls -l `find . -size +$ARG2c`
;;
esac


maar die +$ARG2c wil niet en ik zou niet weten waarom

Als ik die wolken na tuur beleeft zij zo een nat uur in de natuur.


  • 2P
  • Registratie: November 2001
  • Laatst online: 18-04 09:08

2P

:wq

Zo gaat het beter: (ik had ff niks te doen ;))

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/sh

if [ -z $2 ]; then
  echo "syntax: $0 kort <size>"
  exit 1
fi

case $1 in
  kort)
    RESULT=`find . -size $2c`
    if [ -z $RESULT ]; then
      echo "geen bestanden met grootte '$2' gevonden"
    else
      echo "een kort overzicht"
      ls -l $RESULT
    fi
  ;;
esac

  • Oen
  • Registratie: September 2000
  • Laatst online: 03-12-2025

Oen

plak bakbloedworst

Topicstarter
2P schreef op 05 november 2002 @ 14:39:
Zo gaat het beter: (ik had ff niks te doen ;))

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/sh

if [ -z $2 ]; then
  echo "syntax: $0 kort <size>"
  exit 1
fi

case $1 in
  kort)
    RESULT=`find . -size $2c`
    if [ -z $RESULT ]; then
      echo "geen bestanden met grootte '$2' gevonden"
    else
      echo "een kort overzicht"
      ls -l $RESULT
    fi
  ;;
esac
Hee thnx man, maar:

Argument Expected :? en niet de regel van de syntax als weergave


edit:


opgelost: gebruik van accolades:

ls -l `find . -size ${ARG2}`


volgens mij niet de mooiste oplossing, maar wel effectief

Als ik die wolken na tuur beleeft zij zo een nat uur in de natuur.


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 14:06

deadinspace

The what goes where now?

Oen schreef op 05 november 2002 @ 14:56:
volgens mij niet de mooiste oplossing, maar wel effectief

Nou, dat is dus juist wel hoe het hoort.
Variabelen worden in sh officieel aangegeven met ${variabele}, maar de (iets kortere) vorm $variabele is ook mogelijk. Alleen werkt die laatste dus niet altijd (als er direct bepaalde characters achteraan staan bijvoorbeeld). Bovendien vind ik de eerste duidelijker :)

$(command) is ook duidelijker dan `command` btw (die backticks zijn altijd verwarrend).