🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: skrypt bash pod Qnap TS-431X2

#906765
From: Marcin Debowski
Date: Sun, 18 Dec 2022 10:44
68 lines
2737 bytes
On 2022-12-18, Kamil Jońca <kjonca@poczta.onet.pl> wrote:
> 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)

tzn. w sensie:
fl="
jeden dwa
trzy cztery
etc etc"

?

Traktuje spacje i końce linie równorzędnie, tj. daje
jeden 
dwa
trzy 
cztery
etc 
etc

>> 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?

Wygląda, że tak się nie da.

> 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

Jo, to było tylko z oszczędności ilustracyjnej :)

-- 
Marcin
Technical Details
Message-ID: <uaCnL.1815491$YC96.1622585@fx12.ams1>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!3.us.feeder.erje.net!feeder.erje.net!panix!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!feeder.cambriumusenet.nl!feed.tweaknews.nl!posting.tweaknews.nl!fx12.ams1.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> <87a63lktv7.fsf@alfa.kjonca>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!3.us.feeder.erje.net!feeder.erje.net!panix!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!feeder.cambriumusenet.nl!feed.tweaknews.nl!posting.tweaknews.nl!fx12.ams1.POSTED!not-for-mail
Newsgroups: pl.comp.os.linux
From: Marcin Debowski <agatek@INVALID.zoho.com>
Subject: Re: skrypt bash pod Qnap TS-431X2
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> <87a63lktv7.fsf@alfa.kjonca>
User-Agent: slrn/1.0.3 (Linux)
Mime-Version: 1.0
Lines: 68
Message-ID: <uaCnL.1815491$YC96.1622585@fx12.ams1>
X-Complaints-To: abuse@tweaknews.nl
NNTP-Posting-Date: Sun, 18 Dec 2022 10:44:42 UTC
Organization: Tweaknews
Date: Sun, 18 Dec 2022 10:44:42 GMT
X-Received-Bytes: 2513
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit