🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux
Article #906764

Re: skrypt bash pod Qnap TS-431X2

#906764
From: Kamil Jońca
Date: Sun, 18 Dec 2022 08:18
50 lines
2276 bytes
Marcin Debowski <agatek@INVALID.zoho.com> writes:

> Przy okazji jakby mi ktoś mógł wytłumaczyć, bo nie mogę wygóglać...
>
> Plik na dysku" Chomik\ Syryjski
>
> Taka konstrukcja:
> (1)
>
> for file in *
> zwraca wartość w file "Chomik Syryjski"
>
> ale:
> (2)
>
> fl=`ls -1`
> for file in $fl
>
> zwraca Chomik a Syryjski dopiero w kolejnej iteracji, czyli spacja jest 
> uznawana za separator listy. Dlaczego dla (1) nie? 
Strzelam: w (1) * jest przetwarzana przez bash i on 'wie' że to jest
jedna nazwa pliku. W (2) na zmienną przypisujesz kolejne linie mogące zawierać
spacje, ale dla bash to już jest, well, ciąg lini (niektóre ze spacjami)
- i on tak to traktuje, bez zastanawiania się czy to pliki czy może
nazwy filmów.

zobacz co będzie
IFS="
"
fl=`ls -1`
for file in $fl

(to IFS zawiera znak nowej linii)

>
> A dalej, jak zrobić, żeby koniec lini był takim separatorem, czyli, żeby 
> lista z ls -1 czy np. find . była separowana po liniach a nie po spacjach?


Notabene, uważałbym z podejściem:
for q in *
przy długiej liście plików może ci się wyłożyć

lepiej
find ... -exec {} \;
lub ls |xargs czy find ..|xargs
KJ

-- 
http://wolnelektury.pl/wesprzyj/teraz/
Technical Details
Message-ID: <87a63lktv7.fsf@alfa.kjonca>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
References: <zC9nL.2082193$G_96.888571@fx13.ams1> <slrntpr6bq.17di1.jaros@falcon.lasek.waw.pl> <mBtnL.1820511$wkZ5.780235@fx11.ams1> <cIznL.2082774$G_96.775350@fx13.ams1>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: Kamil Jońca <kjonca@poczta.onet.pl>
Newsgroups: pl.comp.os.linux
Subject: Re: skrypt bash pod Qnap TS-431X2
Date: Sun, 18 Dec 2022 09:18:20 +0100
Message-ID: <87a63lktv7.fsf@alfa.kjonca>
References: <zC9nL.2082193$G_96.888571@fx13.ams1> <slrntpr6bq.17di1.jaros@falcon.lasek.waw.pl> <mBtnL.1820511$wkZ5.780235@fx11.ams1> <cIznL.2082774$G_96.775350@fx13.ams1>
Mime-Version: 1.0
Injection-Info: solani.org; logging-data="3827"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Cancel-Lock: sha1:napKVPTHpCtU++BI3cGiF6Xob1U= sha1:fYHk8jKLJvAGKQ+IKF/wiunuKbo=
X-User-ID: eJwNycEBwCAIA8CVECFJx1GR/Uew972cGDgMJCI723hXwOji9lybJf5baW1XxlkafWgoD5e+Bwf3ECM=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit