Поиск пути конкретного файла, обеспеченного конкретным об/мин в спецификации

Для простой задачи как это Вы могли использовать sed или perl. Для маленького места использовать sed для этой простой задачи:

sed -i.old -e 's/^/;/' file

Это сохраняет копию исходного файла как "*.old" и добавляет a""; в начале каждой строки.

Если Ваш sed не версия GNU (как имеет место на многих вариантах Unix), вероятно, что у Вас не будет оперативного (-i) опция. Или просто перенаправьте к новому выходному файлу или Perl использования как perl -pi.old -e 's/^/;/' file

1
20.12.2013, 17:45
2 ответа

Это - Unix способ сделать это - передача по каналу вывода от одной программы до другого для использования маленьких блоков здания для достижения того, в чем Вы нуждаетесь.

2
27.01.2020, 23:28
  • 1
    я знаю, что это - Unix способ сделать вещи, просто задавшись вопросом, имеет ли об/мин лучший синтаксис запроса, встроил. gzip -d foo.tar.gz | tar -xvvf - больше unixy, чем tar -xzvvf, но я все еще думаю, что второй путь выше (один меньше процесса для порождения, никакой IPC наверху, и т.д.). –  Justin Dearing 20.12.2013, 17:26
  • 2
    Спасибо за разъяснение; не было ясно из Вашего вопроса, что точно Вы искали. Вашим примером является хороший, так как gnutar вполне немного больше, чем старый tar, который не имеет встроенного gzip, означая, что второй не обязательно более эффективен, в конце концов. Иногда наличие маленьких отдельных модулей допускает увеличение эффективности, которое смещает IPC наверху. –  Jenny D 20.12.2013, 17:35
  • 3
    @JustinDearing, [OT] некоторые реализации tar как GNU tar (который был первым, который добавит z флаг, которому я верю) действительно звонят gzip с каналом в отдельном процессе с z флаг. –  Stéphane Chazelas 20.12.2013, 17:43
  • 4
    @StephaneChazelas и положительные стороны Jenny. –  Justin Dearing 20.12.2013, 17:48
  • 5
    @JustinDearing Благодарит, у Вас также есть положительная сторона - я просто не понял это, пока Вы не разъяснились. IPC действительно добавляет немного служебные, но сколько будет зависеть от многих факторов. Размышление о причинах различных способов сделать вещи всегда полезно - я склонен любить Unix модульный подход, но существуют, конечно, времена, когда это не самое эффективное. –  Jenny D 20.12.2013, 17:54

Каталог файла в об/мин

Ваши вопросы немного сбивают с толку. Если Вы спрашиваете о том, как определить путь файла, это содержится в определенном об/мин затем не, нет никакого способа сделать это использование просто rpm или yum.

Это - один способ получить путь apxs от об/мин.

$ dirname $(rpm -ql httpd-devel | grep "apxs$")
/usr/bin

Файлы содержатся в об/мин

Если Ваш вопрос о том, как узнать, присутствует ли файл в данном об/мин затем существует 3 метода, что я знаком с при определении, принадлежит ли файл на диске об/мин.

Метод № 1 - запрашивает об/мин DB

$ rpm -ql httpd-devel | grep "apxs$"
/usr/bin/apxs

Метод № 2 - видит, какому об/мин файл принадлежит

$ rpm -qf /usr/sbin/apxs
httpd-devel-2.2.22-jason.1

Метод № 3 - whatprovides

Можно запросить об/мин DB как это использование yum whatprovides ...

Пример

$ yum whatprovides '*apxs'
Loaded plugins: langpacks, refresh-packagekit
httpd-devel-2.4.4-6.fc19.i686 : Development interfaces for the Apache HTTP server
Repo        : fedora
Matched from:
Filename    : /usr/bin/apxs



httpd-devel-2.4.4-6.fc19.x86_64 : Development interfaces for the Apache HTTP server
Repo        : fedora
Matched from:
Filename    : /usr/bin/apxs



httpd-devel-2.4.6-2.fc19.i686 : Development interfaces for the Apache HTTP server
Repo        : updates
Matched from:
Filename    : /usr/bin/apxs



httpd-devel-2.4.6-2.fc19.x86_64 : Development interfaces for the Apache HTTP server
Repo        : updates
Matched from:
Filename    : /usr/bin/apxs



httpd-devel-2.4.6-2.fc19.x86_64 : Development interfaces for the Apache HTTP server
Repo        : @updates
Matched from:
Filename    : /usr/bin/apxs
1
27.01.2020, 23:28
  • 1
    Первый метод точно, что я сделал, и второй метод не решает мою проблему. –  Justin Dearing 20.12.2013, 17:22
  • 2
    @JustinDearing - Я понимаю, что, показывал Вам все потенциальные методы. Это - то, что доступно. Не уничтожайте средство рассылки. Я использовал дистрибутивы RH для 20 + yrs., это - то, что Вы имеете. –  slm♦ 20.12.2013, 17:27
  • 3
    @JustinDearing - можно сделать a locate apxs, и выполненный это через цикл или rpm -qf $i. –  slm♦ 20.12.2013, 17:28

Теги

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