csplit, не повинуясь обратной косой черте r \r как возврат каретки

1. Действительно ли мы уверены, что это не опечатка?

Вы уверены, что работал под 4,8? Я просто попробовал его в 4.3.2.

$ rpm --version
RPM version 4.3.2

$ rpm -H
-H: unknown option

2. Переключатель подтвержден!

Это, кажется, ограничено просто версией 4.8 только.

$ rpm -H
$ 

$ cat /etc/redhat-release 
CentOS release 6.5 (Final)

3. Доказательство его существования

Я действительно находил этот поток на rpm5.org, названном: Ре: парсинг hdlists с rpmgi? который показывает -H переключатель в действии.

$ rpm -qH
    error: rpmpkgRead: Header: Header V3 DSA signature: UNKNOWN, key ID 26752624
    [jbj@localhost tmp]$ sudo rpm --import 0x26752624
    [jbj@localhost tmp]$ rpm -qH
    error: rpmpkgRead: Header: Header V3 DSA signature: UNKNOWN, key ID 26752624

и здесь:

$ rpm -qH -vv --nosignature
D: pool fd: created size 384 limit -1 flags 0
D: pool lua:    created size 56 limit -1 flags 0
D: pool ts: created size 1192 limit -1 flags 0
D: pool gi: created size 160 limit -1 flags 0
D: pool dig:    created size 400 limit -1 flags 0
D: pool ctx:    created size 104 limit -1 flags 0
D: pool h:  created size 352 limit -1 flags 0
lib64rpm1-4.8.1-1mnb2.x86_64
x11-driver-video-ati-6.13.99-0.20101119.1mdv2011.0.x86_64

4. Курение оружия... Журналы фиксации мерзавца!

Это, казалось бы, было бы дымящимся оружием. Это показывает обсуждение в удалении этой функции. Это - журнал фиксации мерзавца.

From: Panu Matilainen 
Date: Fri, 19 Mar 2010 14:54:00 +0000 (+0200)
Subject: Eliminate hysterical --hdlist query option and everything implementing it
X-Git-Tag: rpm-4.9.0-beta1~839
X-Git-Url: http://rpm.org/gitweb?p=rpm.git;a=commitdiff_plain;h=367c0d7014b769a5c12f83b525dddb0a7c76beef

...
Eliminate hysterical --hdlist query option and everything implementing it
- This hidden gem used "system hdlist", ie "/usr/share/comps/%{_arch}/hdlist
  as the source for queries. Such "system hdlist" hasn't existed anywhere
  since RHL 9/FC 1 times...

В том же самом потоке этот фрагмент кода, который показывает удаляемый переключатель.

- { "hdlist", 'H', POPT_ARGFLAG_DOC_HIDDEN, 0, POPT_HDLIST,
-   N_("query/verify package(s) from system HDLIST"), "HDLIST" },
-

Таким образом, переключатель синонимичен с --hdlist.

Ссылки

2
02.06.2014, 11:07
1 ответ

Если вы используете ksh93, zsh или bash, вы можете использовать $'.... ' ksh-расширение, которое делает интерпретацию обратного слеша в стиле C внутри цитируемой строки:

csplit --silent --prefix=email-emailbad.txt- --digits=3 \
       emailbad.txt $'/^\.\r/+1' '{*}'

В противном случае, вы можете использовать printf для создания строки, очень похожим способом:

csplit --silent --prefix=email-emailbad.txt- --digits=3 \
       emailbad.txt "$(printf '/^\.\r/+1')" '{*}'
3
27.01.2020, 22:06

Теги

Похожие вопросы