Article View: pl.comp.os.linux
Article #906764Re: skrypt bash pod Qnap TS-431X2
From: Kamil Jońca
Date: Sun, 18 Dec 2022 08:18
Date: Sun, 18 Dec 2022 08:18
50 lines
2276 bytes
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-mailReferences:
<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