From: "Nick S. Grechukh" <ngrechukh@ua.fm>
To: community@altlinux.ru
Subject: Re: [Comm] конвертировать из cp1251 в koi8-r
Date: Wed, 30 Mar 2005 11:13:59 +0300
Message-ID: <200503301114.05100.ngrechukh@ua.fm> (raw)
In-Reply-To: <20050329182641.0477068e@home.greg.com.ru>
[-- Attachment #1: Type: text/plain, Size: 1577 bytes --]
On Tuesday 29 March 2005 17:26, Grigory Fateyev wrote:
> 1. "Катим" выбранный файл по маске;
> 2. Перекодируем вывод п.1;
ок.
> 3. Записываем вывод в $new;
в _переменную_ new или файл $new?
чтобы вывод команды засунуть в переменную есть как минимум два варианта:
окружить команду `` (или $(), не суть важно)
new=$(cat .. | iconv ... | some-command)
или в конце:
cat .. | iconv .. | some-command-like-grep | new=`cat`
здесь в переменную new попадет stdout того что в апострофах - cat. а ее вывод
ситуативно совпадает с ее stdin, это же cat. в итоге в переменной окажется то
что вывела вся предыдущая цепочка.
> 4. $new свою очередь обнуляет $old;
что значит обнуляет? видимо, перекодированный текст из переменной new следует
засунуть обратно в файл, имя которого в old.
сделать echo $new > $old не получится, потому что ньюлайны превратятся в
пробелы. нужно делать
cat << EOF > my_new_file
$new
EOF
здесь файл _называется_ my_new_file. если поставить cat << EOF > $my_new_file,
то именем файла будет содержимое переменной my_new_file.
теперь смотрим Ваш вариант
> find -type f -name "*.txt" -exec bash -c 'old="{}"; cat $old |
все ок.
> iconv -c -f cp1251 -t koi8-r -o new=`cat /dev/null > $old` \;
непонятно. ключ -o выводит stdout в файл имя которого идет после ключа.
(кстати, в переменную так не засунешь). в Вашем случае файл будет называться
"new=что-то-там". а это 'что-то там' будет очевидно пустое, потому что
"cat > /dev/null > $old" на stdout ничего не выведет, и new=`...` будет
развернуто в "new=".
> Вроде должно работать? :)
не-а. не должно ;-)
[-- Attachment #2: Type: application/pgp-signature, Size: 190 bytes --]
next prev parent reply other threads:[~2005-03-30 8:13 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-29 12:41 Grigory Fateyev
2005-03-29 13:01 ` Nick S. Grechukh
2005-03-29 14:26 ` Grigory Fateyev
2005-03-30 8:13 ` Nick S. Grechukh [this message]
2005-03-29 13:27 ` Andrey Rahmatullin
2005-03-30 11:30 ` Sergey Shilov
2005-03-30 8:39 ` Nick S. Grechukh
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=200503301114.05100.ngrechukh@ua.fm \
--to=ngrechukh@ua.fm \
--cc=community@altlinux.ru \
/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