Portál AbcLinuxu, 14. května 2025 08:41
#!/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" doneale nepracuje jak má, soubory s mezerami v názvu se berou jako dva argumenty. Poradíte mi co je tu špatně?
find . -maxdepth 1 -exec $1 {} \;
Nebo staré, ale pořád dobré:
for f in *; do "$1" "$f"; done
(případně pro všechny případy 'shopt -s nullglob
')
$( 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:)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.