← Back to team overview

sslug-teknik team mailing list archive

Re: grep, ls og redirection i X

 

On Wed, 7 Mar 2001, Mogens Kjaer wrote:


> Højst sandsynligt har du noget i din .profile eller /etc/profile
> eller et tilsvarende sted, som echo'er disse escape sekvenser.

Hmm...  Desværre ikke, eller rettere - Jeg kan ikke se noget der skulle
medfører dem.

Her er det stykke i scriptet der opbygger fexclude filen.
----------
EXCLUDE=`cat ./exclude`
if [ -f ./tfexclude ]; then
  rm ./tfexclude
fi
for FINT in $EXCLUDE; do
  FMIN=`echo $DMINT | cut -f1 -d"-"`
  FMAX=`echo $DMINT | cut -f2 -d"-"`
  interval $MIN $MAX 1 >> ./tfexclude
done
cat ./tfexclude | sed 's; $;$;' | sed 's; ;$|^;g' | \
  sed 's;^;^;' > ./fexclude
CFILES=`ls --color=never [1-9]* 2>/dev/null | \
  grep -v -E \`cat ./fexclude\``
----------

Escape sekvenserne har allerede sneget sig ind i ./tfexclude filen.
interval - som danner tfexclude - er et lille program i c som ser ud som
følger:
----------
#include <stdio.h>

int main(int argc, char *argv[])
{
  int counter,jump=1,min,max;

  if (argc < 3) {
    printf("Usage: %s <min> <max> [interval]\n", argv[0]);
    return(1);
  } else {
    if (argc >= 4) {
      jump=abs(atoi(argv[3]));
    }
    if (atoi(argv[1]) <= atoi(argv[2])) {
      min=atoi(argv[1]);
      max=atoi(argv[2]);
    } else {
      min=atoi(argv[2]);
      max=atoi(argv[1]);
    }
    counter=min;
    while (counter<=max) {
      printf("%d ", counter);
      counter+=jump;
    }
  }
}
----------

Jeg må ærligt indrømme at jeg ikke kan se hvor escape sekvensen sniger sig
ind.

Og som det sidste, så ser ./exclude nogenlunde ud som følger:
----------
2-4 8-12 22 14-18
----------

Altid kun een linje, og ingen af intervallerne overlapper. Intervallerne
behøver dog IKKE at være i rækkefølge. exclude filen er i orden, og har
IKKE escape sekvenserne i sig.

Jeg kan naturligvis bare droppe ud af X når jeg skal køre scriptet, men
det virker som en lidt besynderlig fremgangsmåde.

Med venlig  hilsen
Bjørn Bille Højte
bjoern@xxxxxxxxxxxxx




Follow ups

References