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