[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

RE: Exercicio 30



Leandro Diullas Sperandio wrote (on Wednesday, 14 Jun 2000, at 17:41:10 -0300):
 > Ola professor Yoshi!
 > 
 > Com relacao ao exercicio 30 da lista,
 > 
 > Experimente dar o comando (no radix_string) 
 > 
 > 
 >                      head Hamlet.txt : sort_drive
 > 
 > 
 > Eu disse ":" ao invés de "|"
 > 
 > Consegue reconhecer o que esta sendo escrito?

O head pode receber uma lista de arquivos como argumento (na linha de
comando).  O head imprime as primeiras 10 linhas dos arquivos na lista.

Por exemplo

======================================================================
<58>[rebutosa:/home/mac/yoshi/www/mac338/exx/radix_string] > ll
total 34
lrwxrwxrwx   1 yoshi    mac            26 Jun 13 08:19 Hamlet.txt -> ../quick_string/Hamlet.txt
lrwxrwxrwx   1 yoshi    mac            22 Jun 13 08:19 Item.c -> ../quick_string/Item.c
lrwxrwxrwx   1 yoshi    mac            22 Jun 13 08:19 Item.h -> ../quick_string/Item.h
lrwxrwxrwx   1 yoshi    mac            24 Jun 13 08:19 Makefile -> ../quick_string/Makefile
-rw-r--r--   1 yoshi    mac          3189 Jun 13 08:58 exemplo_de_uso
-rw-r--r--   1 yoshi    mac          1427 Jun 13 08:25 quicksortX.c
-rw-r--r--   1 yoshi    mac           241 Jun 13 08:24 quicksortX.h
lrwxrwxrwx   1 yoshi    mac            12 Jun 13 08:23 sort.c -> quicksortX.c
lrwxrwxrwx   1 yoshi    mac            12 Jun 13 08:24 sort.h -> quicksortX.h
-rwxr-xr-x   1 yoshi    mac         20140 Jun 13 08:56 sort_drive*
lrwxrwxrwx   1 yoshi    mac            28 Jun 13 08:19 sort_drive.c -> ../quick_string/sort_drive.c
<59>[rebutosa:/home/mac/yoshi/www/mac338/exx/radix_string] > head Item.h Item.c
==> Item.h <==
/*
 * This code is from "Algorithms in C, Third Edition,"
 * by Robert Sedgewick, Addison Wesley Longman, 1998.
 * (Adapted by Y. Kohayakawa)
 */
#ifndef _Item_h
#define _Item_h

#define COMP_MAX 256


==> Item.c <==
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include "Item.h"

#define N_WORDS_0 1000

Item *get_items(int *n)
{
  Item *a=malloc(N_WORDS_0*sizeof(char *));
<60>[rebutosa:/home/mac/yoshi/www/mac338/exx/radix_string] > 
======================================================================

Ele interpretou o ":" como o nome de um arquivo.  Na verdade, o shell nao se
importa com este nome (tente criar um arquivo com este nome!).  Note que na
saida de 

  prompt% head Hamlet.txt : sort_drive
 
voce obteve a linha 

  head: :: No such file or directory

na saida.  (O head reclamou que nao tem um arquivo chamado ":")

Finalmente, o head imprimiu as 10 primeiras linhas do arquivo sort_drive, onde
uma linha é definida como uma cadeia de caracteres até ocorrer '\n' (ou fim de
arquivo).

Yoshi

PS Existe o comando ":" no shell "sh".  Veja no man de sh:

     :         No effect; the command does nothing. A  zero  exit
               code is returned.

Portanto posso fazer 

======================================================================
<67>[rebutosa:/home/mac/yoshi/www/mac338/exx/radix_string] > :
<68>[rebutosa:/home/mac/yoshi/www/mac338/exx/radix_string] > echo $?
0
<69>[rebutosa:/home/mac/yoshi/www/mac338/exx/radix_string] > bla
bash: ./bla: Permission denied
<70>[rebutosa:/home/mac/yoshi/www/mac338/exx/radix_string] > echo $?
126
<71>[rebutosa:/home/mac/yoshi/www/mac338/exx/radix_string] > :
<72>[rebutosa:/home/mac/yoshi/www/mac338/exx/radix_string] > echo $?
0
<73>[rebutosa:/home/mac/yoshi/www/mac338/exx/radix_string] > 
======================================================================

 > Falou!
 > 
 >  Leandro Diullas Sperandio   <diullas@linux.ime.usp.br>