Re: Long filenames in DOS/Windows and Unix/Linux

Liste des GroupesRevenir à cu programmer 
Sujet : Re: Long filenames in DOS/Windows and Unix/Linux
De : Keith.S.Thompson+u (at) *nospam* gmail.com (Keith Thompson)
Groupes : comp.unix.programmer
Date : 04. Sep 2024, 01:27:34
Autres entêtes
Organisation : None to speak of
Message-ID : <87bk141cw9.fsf@nosuchdomain.example.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-Agent : Gnus/5.13 (Gnus v5.13)
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
On Tue, 03 Sep 2024 16:10:42 -0700, Keith Thompson wrote:
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
On Tue, 03 Sep 2024 15:16:36 -0700, Keith Thompson wrote:
For example, I might type something like:
 
    for file in * ; do cp -p $file $file.bak ; done
>
It’s quite easy to fix that to work with spaces in file names.
 
I wouldn't call it "quite easy".
>
As easy as this, in Bash at least:
>
    IFS=$'\n'
>
I’ve been told elsewhere that $'\n' is also valid in the latest Posix
spec.

Not bad -- but of course that's not all you have to do.

I tried it just now.  My first attempt was

    IFS='\n' for file in * ; do cp -p $file $file.bak ; done

but that's a syntax error ("for" is a shell keyword, not a command).
Second attempt:

    IFS='\n' ; for file in * ; do cp -p $file $file.bak ; done

but that leaves IFS set to its new value in my interactive shell.

Either of these seems to work:

    ( IFS='\n' ; for file in * ; do cp -p $file $file.bak ; done )

    { IFS='\n' ; for file in * ; do cp -p $file $file.bak ; done }

That's still more trouble than it's worth *for me*.  It handles
99+% of real-world cases, but I expect it would fail if a file had
a newline in its name.  (Actually a quick experiment indicates that
that seems to work.  I don't know how or why.)  I have other ways of
handling this kind of thing if I need 100% reliability regardless of
any funny characters in file names (Perl, readdir).  And the simple
"for file in *" handles 99% of the cases that I personally have to
deal with.

--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */

Date Sujet#  Auteur
31 Aug 24 * Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)61Kenny McCormack
31 Aug 24 +* Re: Long filenames in DOS/Windows and Unix/Linux11Richard Kettlewell
31 Aug 24 i+- Re: Long filenames in DOS/Windows and Unix/Linux1Muttley
1 Sep 24 i`* Re: Long filenames in DOS/Windows and Unix/Linux9Lawrence D'Oliveiro
1 Sep 24 i +* Re: Long filenames in DOS/Windows and Unix/Linux7Lawrence D'Oliveiro
1 Sep 24 i i+- Re: Long filenames in DOS/Windows and Unix/Linux1Nuno Silva
1 Sep 24 i i+- Re: Long filenames in DOS/Windows and Unix/Linux1Helmut Waitzmann
1 Sep 24 i i+- Putting arbitrary characters into the shell command line (was: Long filenames in DOS/Windows and Unix/Linux)1Helmut Waitzmann
3 Sep 24 i i+* Re: Long filenames in DOS/Windows and Unix/Linux2Wayne
3 Sep 24 i ii`- Re: Long filenames in DOS/Windows and Unix/Linux1Lawrence D'Oliveiro
8 Sep 24 i i`- Re: Long filenames in DOS/Windows and Unix/Linux1Janis Papanagnou
1 Sep 24 i `- Arbitrary characters in filenames (was: Long filenames in DOS/Windows and Unix/Linux)1Helmut Waitzmann
31 Aug 24 +* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)48Muttley
3 Sep 24 i`* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)47John Ames
3 Sep 24 i +- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)1Lew Pitcher
3 Sep 24 i +* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)4Kenny McCormack
4 Sep 24 i i`* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to3Muttley
4 Sep 24 i i `* User surveys (Was: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to)2Kenny McCormack
4 Sep 24 i i  `- Re: User surveys (Was: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to)1Muttley
3 Sep 24 i +* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)40Kaz Kylheku
3 Sep 24 i i`* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)39John Ames
3 Sep 24 i i +* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)37Kaz Kylheku
3 Sep 24 i i i`* Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)36John Ames
3 Sep 24 i i i +- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)1Lawrence D'Oliveiro
3 Sep 24 i i i `* Re: Long filenames in DOS/Windows and Unix/Linux34Keith Thompson
3 Sep 24 i i i  +* Re: Long filenames in DOS/Windows and Unix/Linux16Lawrence D'Oliveiro
4 Sep 24 i i i  i`* Re: Long filenames in DOS/Windows and Unix/Linux15Keith Thompson
4 Sep 24 i i i  i +* Re: Long filenames in DOS/Windows and Unix/Linux13Lawrence D'Oliveiro
4 Sep 24 i i i  i i+* Re: Long filenames in DOS/Windows and Unix/Linux4Keith Thompson
4 Sep 24 i i i  i ii`* Re: Long filenames in DOS/Windows and Unix/Linux3Lawrence D'Oliveiro
4 Sep 24 i i i  i ii `* Re: Long filenames in DOS/Windows and Unix/Linux2Keith Thompson
4 Sep 24 i i i  i ii  `- Re: Long filenames in DOS/Windows and Unix/Linux1Lawrence D'Oliveiro
4 Sep 24 i i i  i i`* Re: Long filenames in DOS/Windows and Unix/Linux8Ralf Fassel
4 Sep 24 i i i  i i `* Re: Long filenames in DOS/Windows and Unix/Linux7Keith Thompson
4 Sep 24 i i i  i i  `* Re: Long filenames in DOS/Windows and Unix/Linux6Nuno Silva
4 Sep 24 i i i  i i   `* Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)5Kenny McCormack
4 Sep 24 i i i  i i    `* Re: Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)4Lew Pitcher
4 Sep 24 i i i  i i     +- Re: Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)1Lawrence D'Oliveiro
5 Sep 24 i i i  i i     `* Re: Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)2Kaz Kylheku
5 Sep 24 i i i  i i      `- Re: Always use "--" (Was: Long filenames in DOS/Windows and Unix/Linux)1Lew Pitcher
4 Sep 24 i i i  i `- Re: Long filenames in DOS/Windows and Unix/Linux1Tim Rentsch
4 Sep 24 i i i  +* Re: Long filenames in DOS/Windows and Unix/Linux11Kaz Kylheku
4 Sep 24 i i i  i+* Re: Long filenames in DOS/Windows and Unix/Linux8Keith Thompson
4 Sep 24 i i i  ii`* Re: Long filenames in DOS/Windows and Unix/Linux7Lawrence D'Oliveiro
4 Sep 24 i i i  ii `* Re: Long filenames in DOS/Windows and Unix/Linux6Keith Thompson
4 Sep 24 i i i  ii  +* Re: Long filenames in DOS/Windows and Unix/Linux4Lawrence D'Oliveiro
4 Sep 24 i i i  ii  i`* Re: Long filenames in DOS/Windows and Unix/Linux3Keith Thompson
4 Sep 24 i i i  ii  i +- Re: Long filenames in DOS/Windows and Unix/Linux1Lawrence D'Oliveiro
4 Sep 24 i i i  ii  i `- Re: Long filenames in DOS/Windows and Unix/Linux1Nuno Silva
4 Sep 24 i i i  ii  `- Re: Long filenames in DOS/Windows and Unix/Linux1Kaz Kylheku
4 Sep 24 i i i  i`* Re: Long filenames in DOS/Windows and Unix/Linux2John Ames
4 Sep 24 i i i  i `- Re: Long filenames in DOS/Windows and Unix/Linux1Muttley
4 Sep 24 i i i  `* Re: Long filenames in DOS/Windows and Unix/Linux6Richard Kettlewell
5 Sep 24 i i i   `* Re: Long filenames in DOS/Windows and Unix/Linux5Ralf Fassel
5 Sep 24 i i i    +* Re: Long filenames in DOS/Windows and Unix/Linux3Richard Kettlewell
7 Sep 24 i i i    i`* Re: Long filenames in DOS/Windows and Unix/Linux2candycanearter07
7 Sep 24 i i i    i `- Word splitting oddities (Was: Long filenames in DOS/Windows and Unix/Linux)1Kenny McCormack
10 Sep 24 i i i    `- Re: Long filenames in DOS/Windows and Unix/Linux1Janis Papanagnou
10 Sep 24 i i `- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)1Janis Papanagnou
4 Sep 24 i `- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to1Muttley
1 Sep 24 `- Re: Long filenames in DOS/Windows and Unix/Linux (Was: Piping to stdin)1Marcel Mueller

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal