[linux] Medzery vo for (shell)

Oskar Stolc stolc na intrak.tuke.sk
Čtvrtek Únor 15 15:59:44 CET 2001


Zdravim,


> Ahojte.
> 
>    Mam taky maly problem. Napisal som si skript, ktory mi rozdeli vsetky 
> subory v adresari na mensie, aby sa dali kopirovat na diskety. Zlyha 
> vsak, ked su v nazvoch medzery, kedze for sa prave podla tychto medzier 
> riadi. Neda sa to nejako upravit, aby reagoval na iny znak?
> 
> Druhou moznostou by bolo nahradit mezdery v nazvoch "podciarnikom" cez 
> sed prikazom s/\ /_/g, len netusim, ako brat subory a pouzit v mv alebo mmv.

mmv? to mi nic nehovori :-)

> Vdaka za kazdu pomoc.
> 
>         Rado
> 
> #!/bin/sh
> #dsplit - rozdelenie suborov

skus do skriptu pred for pridat riadok

IFS='
'

t.j. ako oddelovac nastavis len znak noveho riadku (preto ten ukoncovaci
apostrof na zaciatku noveho riadku). implicitne ma, tusim,  IFS hodnotu medzery,
tabulatora a znaku noveho riadku.

Pred pouzitim naostro si to ale, prosim ta, otestuj, lebo ja som 
nemal moznost, pisem ti to narychlo z hlavy...

> 
> for i in `find . -type f -maxdepth 1`
> do
> 	echo Rozdelujem subor $i ...
> 	split --verbose -b 1350k "$i" "$i."
> done
> echo Subory su rozdelene...
> 

Cau,

					Oskar



Další informace o konferenci linux