Как действительно добавляют GNU findutils в существующее местоположение

С awk:

awk '/bar/ && prev != "" {print FILENAME ": " prev "\n" FILENAME ": " $0}
     /foo/ {prev=$0; next}
     {prev=""}' file1...

(общие сведения о awk ограничении: остерегайтесь этого, если некоторые имена файлов могут содержать "=" символы, необходимо будет передать их как ./filename вместо filename к awk)

2
19.11.2013, 00:00
2 ответа

make install перезапишет существующие файлы тем же именем. Кроме этого, это не удалит существующие файлы. GNU coreutils и GNU findutils предназначаются, чтобы использоваться и устанавливаться друг вместе с другом, таким образом, у них нет различных файлов тем же именем. Поэтому при установке их один за другим Вы получите обоих.

5
27.01.2020, 21:50
  • 1
    Это имеет смысл после того, как я буду думать об этом больше; в конце концов, значение по умолчанию пишет в/usr/local, таким образом, это не перезаписало бы все. Никогда не делая это, прежде чем вызвано меня спросить. –  BellevueBob 04.10.2013, 17:55

Да make install перезапишет любые существующие ранее файлы, которые являются там, предполагая, что у Вас есть доступ для записи к тому целевому местоположению. Но, учитывая эти пакеты вся часть той же "системы", я был бы склонен думать, что это является модульным по своей природе и что она делает установки в тот же префикс управляемым способом, и ничего не будет перезаписывать, как Вы устанавливаете последующие части.

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

Дополнительно:

  • Почему Вы не используете свое управление пакетом дистрибутивов Linux, чтобы сделать это?
  • Вы устанавливаете более новую версию, которая не доступна?
  • Или Вы просто учитесь?

Безотносительно причины я рассмотрел бы разветвления установки программного обеспечения как пользовательская "вещь" по сравнению с использованием пакетов. Да можно сделать также, но существуют согласования с выполнением пользовательской установки программного обеспечения по сравнению с использованием запаса от разнообразия полки, которое обеспечивается диспетчером пакетов дистрибутивов.

Пользовательский предоставляет Вам полный контроль, но с ценой необходимости держать его в курсе, и необходимость знать, как создать его и заботиться о нем.

С полки предоставляет Вам удобство, но теперь Вы зависите от кого-то еще для заботы о программном обеспечении, и Вы заблокированы в их расписание.

Выберите мудро!

4
27.01.2020, 21:50
  • 1
    1), я нахожусь на Солярисе, не Linux. 2) я пробую к ADD эти "findutils" к своей системе; я мог установить их в чистый каталог, но мысль является имевшим смыслом для добавления их в мой "стандартный" каталог 3 GNU), Едва ли "просто изучение". Мне нужен GNU find команда для сценария (на самом деле просто-maxdepth опция). Солярис –  BellevueBob 04.10.2013, 01:02
  • 2
    действительно имеет диспетчер пакетов также. Установите их в свой собственный корневой каталог, если Вы - единственный, который будет использовать их, если они будут использоваться кроном и другими учетными записями затем, они входят в/, выбирают или/usr/local/bin. –  slm♦ 04.10.2013, 01:21
  • 3
    sunfreeware.com умер (или пошел заплаченный только подписку), несколько лет назад, но можно все еще найти предварительно упакованное программное обеспечение GNU для Соляриса в opencsw.org –  cas 04.10.2013, 05:35
  • 4
    Если Вы находитесь на Солярисе 11 затем, GNU findutils установлен по умолчанию, но не делает его по умолчанию в локальную зону. Посмотрите эту регистрацию для большего количества информационного Ре Оценка Соляриса –  unixhacker2010 04.10.2013, 13:06

Теги

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