From: Vitaly Ostanin <vyt@vzljot.ru>
To: ALT Linux Community <community@lists.altlinux.org>
Subject: Re: [Comm] test -d on directory with space in name
Date: Wed, 13 Dec 2006 13:36:24 +0300
Message-ID: <457FD7A8.6050609@vzljot.ru> (raw)
In-Reply-To: <20061206235339.GA4486@basalt.office.altlinux.org>
[-- Attachment #1: Type: text/plain, Size: 1394 bytes --]
Dmitry V. Levin пишет:
> Hi,
>
> On Wed, Dec 06, 2006 at 03:40:04PM +0300, Vitaly Ostanin wrote:
>> Здравствуйте.
>>
>> Скажите, где я тупой, а?
>
> Не все пробельные символы одинаковые.
>
>> В этом скрипте не выполняется проверка [ -d "$FILE" ], если в
>> имени $FILE есть пробелы.
>
> Табуляция там, а не пробелы.
На экране да, но почему тогда работает "cut -d ' '" ?
Вывод "du" не может меняться в зависимости от того, куда он
направлен? Такая мысль пришла в голову по аналогии с разницей
вывода "ls" (в несколько столбцов) и "ls | less" (в один столбец)
>> #!/bin/sh
>>
>> do_du()
>> {
>> du -sbx * | sort -rn | while read f;
> du -sbx * | sort -rn | while read size FILE;
Спасибо, про несколько name у read не знал. Можно адаптировать и так:
du -sbx0 * | sort -rnz | while read -d '\0' size FILE;
А затык был именно в "cd -", спасибо ещё раз.
>> do
>> echo $f
> echo "$size $FILE"
>> FILE=`echo $f | cut -d ' ' -f2-`
> это не нужно
>> if [ -d "$FILE" ]; then
>> echo "^^^dir^^^"
>> cd "$FILE"
>> do_du
> cd -
>> fi
>> done
>> }
>>
>> do_du
>
> Имейте в виду, этот скрипт нельзя запускать в недоверенных каталогах,
> он там может заблудиться.
Даже realpath не поможет?
<skipped/>
--
Regards, Vyt
mailto: vyt@vzljot.ru
JID: vyt@vzljot.ru
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]
prev parent reply other threads:[~2006-12-13 10:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-06 12:40 Vitaly Ostanin
2006-12-06 13:39 ` Alexey I. Froloff
2006-12-06 14:47 ` Vitaly Ostanin
2006-12-07 6:51 ` Alexey I. Froloff
2006-12-06 14:17 ` A.Kitouwaykin
2006-12-06 23:53 ` Dmitry V. Levin
2006-12-07 9:44 ` Fr. Br. George
2006-12-13 10:36 ` Vitaly Ostanin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=457FD7A8.6050609@vzljot.ru \
--to=vyt@vzljot.ru \
--cc=community@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git