ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Не является ли это багом в xargs?
@ 2010-03-08 11:52 Vitaly Lipatov
  2010-03-08 12:02 ` [devel] Нет, это не является багом в xargs! Dmitry V. Levin
  0 siblings, 1 reply; 4+ messages in thread
From: Vitaly Lipatov @ 2010-03-08 11:52 UTC (permalink / raw)
  To: devel, lav

$ echo 1 2 3 | xargs -iQQ -n1 -- echo QQ-QQ
1 2 3-1 2 3

Ожидал я получить такой вывод:
$ echo 1 2 3 | xargs -n1 echo | xargs -iQQ -- echo QQ-QQ
1-1
2-2
3-3

-- 
Lav
Виталий Липатов
Россия, Санкт-Петербург. www.etersoft.ru
GNU! ALT Linux Team! WINE! WIKI! LaTeX! LyX!

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] Нет, это не является багом в xargs!
  2010-03-08 11:52 [devel] Не является ли это багом в xargs? Vitaly Lipatov
@ 2010-03-08 12:02 ` Dmitry V. Levin
  2010-03-08 20:20   ` Vitaly Lipatov
  0 siblings, 1 reply; 4+ messages in thread
From: Dmitry V. Levin @ 2010-03-08 12:02 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 789 bytes --]

On Mon, Mar 08, 2010 at 02:52:48PM +0300, Vitaly Lipatov wrote:
> $ echo 1 2 3 | xargs -iQQ -n1 -- echo QQ-QQ
> 1 2 3-1 2 3
> 
> Ожидал я получить такой вывод:
> $ echo 1 2 3 | xargs -n1 echo | xargs -iQQ -- echo QQ-QQ
> 1-1
> 2-2
> 3-3

$ info xargs
...
`-I REPLACE-STR'
`--replace[=REPLACE-STR]'
`-i[REPLACE-STR]'
     Replace occurrences of REPLACE-STR in the initial arguments with
     names read from standard input.  Also, unquoted blanks do not
     terminate arguments; instead, the input is split at newlines only.
     If REPLACE-STR is omitted (omitting it is allowed only for `-i'), it
     defaults to `{}' (like for `find -exec').  Implies `-x' and `-l 1'.

Обратите, пожалуйста, особое внимание на "the input is split at newlines only".


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] Нет, это не является багом в xargs!
  2010-03-08 12:02 ` [devel] Нет, это не является багом в xargs! Dmitry V. Levin
@ 2010-03-08 20:20   ` Vitaly Lipatov
  2010-03-08 20:27     ` Andrey Rahmatullin
  0 siblings, 1 reply; 4+ messages in thread
From: Vitaly Lipatov @ 2010-03-08 20:20 UTC (permalink / raw)
  To: ALT Devel discussion list

On 8 марта 2010, Dmitry V. Levin wrote:
...
> arguments with names read from standard input.  Also, unquoted
> blanks do not terminate arguments; instead, the input is split
> at newlines only. If REPLACE-STR is omitted (omitting it is
> allowed only for `-i'), it defaults to `{}' (like for `find
> -exec').  Implies `-x' and `-l 1'.
>
> Обратите, пожалуйста, особое внимание на "the input is split
> at newlines only".
Спасибо, прочитал :)
Неожиданно, я всего лишь хотел подстановку, а получил полное изменение поведения.

Да, но на FreeBSD (7.2-8.0) работает, как я и ожидал (хотя не уверен,
что это совпадает с документацией):
$ echo 1 2 3 | xargs -IQQ -n1 -- echo QQ-QQ
1-1
2-2
3-3

man xargs:
-I replstr
Execute utility for each input line, replacing one or more occur-
rences of replstr in up to replacements (or 5 if no -R flag is
specified) arguments to utility with the entire line of input.
...

-- 
С уважением,
Виталий Липатов
Санкт-Петербург
GNU! ALT Linux Team! WINE! LaTeX! LyX! http://freesource.info


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] Нет, это не является багом в xargs!
  2010-03-08 20:20   ` Vitaly Lipatov
@ 2010-03-08 20:27     ` Andrey Rahmatullin
  0 siblings, 0 replies; 4+ messages in thread
From: Andrey Rahmatullin @ 2010-03-08 20:27 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 907 bytes --]

On Mon, Mar 08, 2010 at 11:20:21PM +0300, Vitaly Lipatov wrote:
> Да, но на FreeBSD (7.2-8.0) работает, как я и ожидал (хотя не уверен,
> что это совпадает с документацией):
В первую очередь это не совпадает с POSIX.1-2008.

-I  replstr
[XSI]  Insert mode: utility is executed for each logical line from
standard input. Arguments in the standard input shall be separated only by
unescaped <newline> characters, not by <blank> characters. 

> man xargs:
> -I replstr
> Execute utility for each input line, replacing one or more occur-
> rences of replstr in up to replacements (or 5 if no -R flag is
> specified) arguments to utility with the entire line of input.
> ...
Ну и с документацией, видимо.

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(6):

На самом деле php - это такая бяка, что дать обновить её первому
встречному мне не жалко.
		-- ldv in sisyphus@

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-03-08 20:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-08 11:52 [devel] Не является ли это багом в xargs? Vitaly Lipatov
2010-03-08 12:02 ` [devel] Нет, это не является багом в xargs! Dmitry V. Levin
2010-03-08 20:20   ` Vitaly Lipatov
2010-03-08 20:27     ` Andrey Rahmatullin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/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 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git