[bash] bestandsgrootten / sorteren

Pagina: 1
Acties:

  • Oen
  • Registratie: September 2000
  • Laatst online: 08:45

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: 21-06 01:34

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: 08:45

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: 09-08 11:55

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).