[bash] for loop -- why oh why?

Permalänk
Medlem

[bash] for loop -- why oh why?

Hej alla glada, jag försöker skriva ett skrippt som omvandlar \t till fyra mellanslag....
men jag får den inte att fungera.

any ideas?

#!/usr/bin/env bash #################### # This script will replace tabs with 4 spaces in a directory. FILES=$@ for f in $FILES do TEMP=$( sed "s/\t/ /g" < "$f" ) echo -e "$TEMP" > $f done

Problemet är nu att den kan börja skriva inget till filerna...
INTE BRA..

den klagar på att "Filen eller katalogen finns inte" och skirver sedan till null till filen..
bah..

eller rättare sagt så tror den tycker inte den om mellanslag...

den tror att alla ord är en egen fil...
besynnerligt...

ok nu är det fixat...

#!/usr/bin/env bash #################### # This script will replace tabs with 4 spaces in a directory. for file in "$@" do TEMP=$( sed "s/\t/ /g" < "$file" ) echo -e "$file" echo -e "$TEMP" > "$file" done

av någon anledning kan man inte använda variabler när man gör sådant här..
och sedan måste man ha "" runt $@
gah.

Visa signatur

@gegoxaren på identi.ca
min personliga Blag ^_^
#python #cSharp #php #sqlite #freetard #loonix