Portál AbcLinuxu, 14. května 2025 08:41

Dotaz: aplikace příkazu na každý soubor ve složce

13.1.2007 16:25 Wiskas
aplikace příkazu na každý soubor ve složce
Přečteno: 111×
Odpovědět | Admin
Napsal jsem tenhle script, který by měl aplikovat svůj argument na každý soubor v současné složce
#!/bin/bash
num=$( ls|grep -c . )
for i in $(seq 1 $num)
do
$1 $(ls|head -$i|tail -1) #zkousel jsem i ls -b, ls -Q a ls --quoting-style="shell"
done
ale nepracuje jak má, soubory s mezerami v názvu se berou jako dva argumenty. Poradíte mi co je tu špatně?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Josef Kufner avatar 13.1.2007 16:43 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: aplikace příkazu na každý soubor ve složce
Odpovědět | | Sbalit | Link | Blokovat | Admin
Wow, tak tohle je opravdu unikatni :-D

Správné řešení:
find . -maxdepth 1 -exec $1 {} \;
Hello world ! Segmentation fault (core dumped)
13.1.2007 17:00 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: aplikace příkazu na každý soubor ve složce

Nebo staré, ale pořád dobré:

  for f in *; do "$1" "$f"; done

(případně pro všechny případy 'shopt -s nullglob')

13.1.2007 17:09 Wiskas
Rozbalit Rozbalit vše Re: aplikace příkazu na každý soubor ve složce
Wow, tak jednoduché to bylo. No co, každy nějak začíná. Moc díky.
Jesus Jimenez avatar 13.1.2007 17:26 Jesus Jimenez | skóre: 29
Rozbalit Rozbalit vše Re: aplikace příkazu na každý soubor ve složce
chtel soubor, pridal bych jeste

find . -maxdepth 1 -type f -exec $1 {} \;
Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy
13.1.2007 16:54 Ketling | skóre: 8
Rozbalit Rozbalit vše Re: aplikace příkazu na každý soubor ve složce
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak najskôr by som asi nahradil $( ls|grep -c . ) týmto: $( ls| wc -l . )
soubory s mezerami v názvu se berou jako dva argumenty.
Možno by pomohlo pohrať sa s premennou IFS. OLDIFS=$IFS IFS="" for i in *; do ... done IFS=$OLDIFS

Snáď som to napísal dobre:)
13.1.2007 16:55 Ketling | skóre: 8
Rozbalit Rozbalit vše Re: aplikace příkazu na každý soubor ve složce
No to prvé riešenie je asi fakt lepšie.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.