Portál AbcLinuxu, 12. července 2025 18:07
for I in `ls /cygdrive/d/temp/*_up.bat`; do sed … $I; done
mkdir test; cd test; touch "a b c"; for i in `ls *`; do echo "soubor $i"; donefor nemá šanci poznat, co je mezera v souboru a co je mezera mezi soubory... O něco lepší je
for i in *; do echo "soubor $i"; donecož nasvědčuje tomu, že to ls bylo vlastně úplně zbytečné. (Hvězdičku v linuxu expanduje shell, nikoliv příkaz ls. A mezery si v takovém případě také sám escapuje.) A pokud jde o sed, klidně zbaští i více parametrů, čili to jednoduché sed -i *.bat bylo vlastně docela dobře. Pokud by těch souborů bylo příliš mnoho, tak by bylo potřeba xargs.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.